我正在尝试在 MongoDB 实例中查找特定字段具有最大值的文档。
这是我必须执行的当前代码:
document = collection.find().sort('experiment_id', -1).limit(1)
if document is None:
# ...
else:
return document['experiment_id']
我正在使用这种查询格式(
find()
后跟sort()
与limit(1)
相结合,因为这应该由Mongo以高度优化的方式解释。
但是,这不起作用,因为 document
是一种游标类型,因此无法在其上调用
['experiment_id']
。我觉得有点令人惊讶的是
limit(1)
返回一个游标对象,而不是单个值或
None
类型。我应该如何编写一个 pymongo 查询来从文档集合中找到字段
'experiment_id'
的最大值?很明显,以下方法可行,但似乎不是一个特别好的解决方案。
for document in documents:
return document['experiment_id']