我想在 MongoDB 上运行一个查找查询,搜索集合中的一组文档,其中每个文档包含一个元素列表,并且仅返回列表中元素数量较大的文档比X。
这将返回 len(messages) == X 的所有文档:
db.log.find({'messages':{'$size':X}})
但是如何获取 len(messages) >= X 的所有文档?
最佳答案
在 MongoDB 2.2+ 中,您可以利用以下事实:您可以在查询对象键中使用数字数组索引来执行此操作:
# X is the minimum number of messages
X = 3
db.log.find({'messages.' + str(X-1): {'$exists': 1}})
关于python - 使用 pymongo,如何找到所有文档,使得每个文档中的嵌入列表包含大于 X 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16525587/