问题标签 [mongoengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
697 浏览

python - MongoEngine 0.5:RuntimeError:调用 Python 对象时超出最大递归深度

在 MongoEngine 0.5 中导致“RuntimeError:调用 Python 对象时超出最大递归深度”。我该如何解决这个问题?

0 投票
1 回答
557 浏览

python - 并发下的mongoengine文档一致性

我正在尝试创建一个实现 Redis 哈希接口的虚拟包装类(一个 mongoengine Document)。例如:

然后,我使用 celery 执行一些任务。在此之前,我初始化了一个 HashModel 对象,任务在该对象上执行一些操作。但是由于多处理,我注意到一些不一致的地方。不同的进程“获得”对象的不同“快照”,这无论如何都是自然的。为了绕过这个问题,我每次都重新初始化对象,以便每次都能获得“几乎”新鲜的快照。

问题:有没有办法避免重新初始化?我可以在上面的类中添加一些代码以及哪些代码来自动执行此操作吗?

编辑:回答:看来,mongoengine.Document.reload() 函数可以做到这一点。我更新了我的代码以显示与我的下一个问题相关的所有内容:

回到 celery 任务中,出现了这个问题:当我 hset(a_key, a_value) 时,然后当我尝试检查它是否存在时,有时 hexists(a_key) 返回 False。即使我强迫它去hset,用:

稍后在某个时候(不删除其他地方的 a_key),有时 hexists(a_key) 仍然会产生 False。怎么会这样???

0 投票
2 回答
2675 浏览

python - MongoEngine 如何处理索引(创建、更新、删除)?

关于设置 Mongo 索引的最佳实践问题。Mongoengine,Python ORM 包装器,允许您在 Document 元类中设置索引。

这个元类什么时候自省并添加索引?我可以通过 mongoengine Document 类构建一个集合,然后在事后添加一个索引吗?

如果我从元类中删除索引,索引是否会自动从相应的集合中删除?

谢谢,

0 投票
2 回答
1413 浏览

python - 带有gevent的mongoengine,如何关闭/结束连接?

我正在connection refused because too many open connections: 204尝试MyApp.objects.get(foo=bar)在 gevent 过程中进行操作。在 models.py 我有connect('my_db'). 在我的脚本中,gevent.monkey.patch_all()我看到了这个问题

pymongo + gevent:给我一个香蕉,然后给我monkey_patch?

和这个问题

https://github.com/hmarr/mongoengine/issues/272

但我不明白如何访问调用的连接end_request。我也试过这个补丁,但它对我没有帮助(除非我用错了)

https://gist.github.com/1184264

0 投票
1 回答
1382 浏览

django - 将 mongoengine 与 models.ImageField 一起使用

我无法让 django/mongoengine 应用程序使用django-athumb。我正在尝试保存不同大小的图像并将它们存储在 S3 上,这正是 athumbs 在与股票 django 安装一起使用时所做的。但是,对于 mongoengine,在对象的字段上调用 ​​save() 会导致“ 'ImageWithThumbsField' 对象没有属性 'save' ”消息。

在处理文件上传的视图函数内部(其中 doc.image 是ImageWithThumbsField):

以上导致上述错误。

如果我改为调用:

我可以访问 save 方法,但它很hackish并且可能会导致更多问题然后解决。我的问题:既然ImageWithThumbsField是 models.ImageField 的子类,那么将models.ImageField与mongoengine一起使用是不可能的(或者至少是不切实际的)?

0 投票
1 回答
4907 浏览

python - 在 mongoengine 中获取动态集合名称

这里是情景。我有一个名为 Permission 的模型。让我们假设它看起来像这样:

这继承自 mongoengine 的 Document 类。因此,当我保存它的一个实例时,会在数据库中自动创建一个名为权限的集合。

我希望能够动态更改集合名称。例如,如果我有一个联系人模型并且想要保存联系人模型的权限,我不希望它进入权限集合,而是保存在一个名为contact_permission 的单独集合中。

我已经为 mongoengine 使用了 feature/dynamic_collection_naming 分支。我无法弄清楚如何让它工作。我试过这个:

但这不起作用。你能帮帮我吗?

0 投票
1 回答
715 浏览

mongodb - Mongoengine 中 DictField 中某个字段的平均值

我正在使用 Mongoengine,在一个集合中我有一个 DictField()。文档包含 DictField 的条目,例如 -

现在我想找到 DictField() 的 load_time 平均值。我怎样才能做到这一点?mongoengine 的平均功能只允许对文档字段进行平均。

0 投票
3 回答
1800 浏览

mongoengine - 如何在 mongo 引擎中使用 $ 符号进行多重更新

如何在 .py 文件中使用 mongo 引擎使用 $ 符号进行多重更新,举个小例子。

0 投票
3 回答
4821 浏览

mongodb - 如何在 MongoEngine 中按 id 从列表(ListField)中删除项目?

结构体:

{title: 'test', comments: [{id:1, title: ''}, {id: 8, title: ''}]}

我需要删除 id=8 项目,谢谢。

0 投票
1 回答
269 浏览

python - 模型中的方法

这是我第一次尝试使用Tornado框架构建 json 网络服务,我对模型设计有疑问。

目前我有一个模型文件(models.py),其中包含代表我的对象的所有模型(这是一个逻辑表示)

因为我有很多方法可以实现,例如 person.is_granted()、person.is_admin()( 例如) 我想知道在这些对象上声明方法的最佳方法是什么(在应用程序设计中),我应该扩展它们吗?或者在模型文件定义上声明方法是否干净?

谢谢您的回答。