草庐IT

mongoengine

全部标签

python - mongoengine 默认超时配置

我有一个通过mongoengine在MongoDB之上运行的django项目。在列表查询集(object.filter()等)得到不一致的结果后,我将查询集设置为无超时运行-通过调用queryset.timeout(False)-这似乎解决了问题。我的问题是:1.mongoengine默认超时设置是多少?2.mongoengine有没有办法控制超时配置? 最佳答案 默认超时不是由mongoengine设置的,因此它回退到10分钟的mongodb游标超时(参见doc)在mongoengine中没有对它的具体支持,但mongodb似乎通

python - 无法从另一个 python 代码访问 ListField 元素

您好,我想使用一个名为common的应用程序在两个django应用程序(监视器、管理器)之间共享一个mongodb。我可以轻松地在管理器应用程序中创建数据库实例,但是在访问图书作者时我不能。它返回这个错误mongoengine.errors.FieldDoesNotExist:Thefields"{'_id'}"donotexistonthedocument"author"模型.pyfrommongoengineimport*classauthor(Document):name=StringField(required=True)meta={'abstract':True,'allow

python - 你在 MongoDB 中使用数据映射器吗?

在MongoKit和MongoEngine的帮助下,我一直在深入研究MongoDB,但后来我开始考虑这里是否需要数据映射器。我提到的两个映射器都可以毫不费力地完成简单的事情。但是做简单的CRUD需要付出什么努力吗?在我看来,在NoSQL的情况下,映射器只是将一个api替换为另一个api(当然还有数据验证、更严格的模式、自动引用/取消引用)您是否在您的应用程序中使用数据映射器?它们(应用程序)有多大?为什么是,为什么不是?谢谢 最佳答案 我们正在运行一个使用Mongodb作为后端的生产站点(没有对Mongo的直接查询,我们在两者之间有

django - 任何使用带有 Django 身份验证的 mongoengine 的人

我对django和mongoengine都很陌生。有没有什么项目可以引用,看用户认证授权的基本实现。 最佳答案 使用mongokithttp://groups.google.com/group/mongokit/browse_thread/thread/c939c126c7b58106 关于django-任何使用带有Django身份验证的mongoengine的人,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

python - mongoengine 调用导致 django View 被调用两次

当我创建一个新对象时,它会两次插入到mongodb中,当我尝试删除一个时,它会这样做,然后再试一次,只是告诉我它找不到对象它可能在查询太难时做同样的事情现在这不是真正的问题我正在使用带有mongoengine0.7.5的django1.4.1我的删除View的代码是defdelbadge(request,oid):log.info('searching')try:badg=BgBadge.objects(id=oid)[0]except:log.error('notfound')raiseHttp404badg.delete()log.info('deleted')returnHttp

python - mongoengine - 使用 QuerySet 作为 ReferenceField

基于此tutorial:frommongoengineimport*connect('tumblelog')classUser(Document):email=StringField(required=True,unique=True)first_name=StringField(max_length=50)last_name=StringField(max_length=50)classComment(EmbeddedDocument):content=StringField()name=StringField(max_length=120)classPost(Document):t

django - 在 MongoEngine 中是否可以识别 GenericReferenceField 引用的对象/文档?

我想知道这是否可能。假设我想查看集合中的所有文档,但想过滤掉那些将某个对象设置为GenericReferenceField()的文档 最佳答案 寻找对象“类型”是Mongoengine如何序列化文档的问题。因此,您始终可以使用原始查询进行检查。请考虑以下事项:>useproject1switchedtodbproject1>db.page.findOne(){"_id":ObjectId("52e862b11d41c80802167cc4"),"title":"UsingMongoEngine","bookmark_object":

mongodb - 快速写入 MongoDB 控制台,缓慢写入 ReplSet

我有一个三节点的MongoDB副本集。如果我通过命令行写入主节点,它会很快完成(如果我通过MongoEngine写入副本集,它需要很长时间(>45秒)!我在日志中没有看到任何异常——只是成功的连接。数据最终显示出来,但每个节点的连接都阻塞了。示例插入(控制台):startdb2014-06-1707:34:10.771450enddb2014-06-1707:34:10.777390样本插入(replset):startdb2014-06-1707:34:10.771450enddb2014-06-1707:34:50.883062连接字符串(MongoEngine):db.conne

python - MongoEngine 改变数据库

由于我的项目设置(与flasky相同),当我运行我的python测试(line34)时,会在我的配置设置为测试之前创建到开发数据库的连接(第11行here)).这会导致我的测试出现问题,因为它们应该在干净的数据库上运行。网上找了一下,只找到switch_db的描述但这不是我需要的。我需要更改我的连接正在使用的数据库,或者删除连接并创建一个新连接。我找不到一种方法来做这些中的任何一个..我错过了什么吗?我的连接是使用这行代码简单初始化的,在我的主应用程序目录的init.py中。frommongoengineimportconnectiondb_name='name_from_config

python - Mongoengine 自定义查询集

我试图在从MongoDB数据库查询时将ObjectId和ISODate转换为字符串表示形式。defmongo_to_dict(obj,exclude_fields):return_data=[]ifobjisNone:returnNoneifisinstance(obj,Document):return_data.append(("_id",str(obj.id)))forfield_nameinobj._fields:iffield_nameinexclude_fields:continueiffield_namein("id",):continuedata=obj._data[fi