mongoengine:计算集合中的文档数量而不检索所有文档

时间:2015-07-07 17:14:20

标签: mongodb mongoengine

假设我有一个名为Posts的类,它对应一个mongodb集合。如果我做Posts.objects.count()。当然它会给我一些文档,但它首先构造QuerySet,然后计算内部的项目数。我的收藏有数千万份文件,这样做可能会产生很高的开销。有没有办法计算文件数而不从mongodb实际检索它们?

1 个答案:

答案 0 :(得分:0)

我通过查看源代码找到了这个。虽然这种方式很粗略,但它确实有用。每个Document子类都有一个名为_get_collection()的方法,它为您提供与子类对应的集合的连接。然后在此连接上使用pymongo调用。