我正在try 在MongoDB实例中查找具有特定字段最大值的文档.
下面是我必须这样做的当前代码:
document = collection.find().sort('experiment_id', -1).limit(1)
if document is None:
# ...
else:
return document['experiment_id']
我使用这种查询格式(find()
后跟sort()
和limit(1)
组合,因为这应该是interpreted by Mongo in a highly optimized way.
但是,这不起作用,因为document
是游标类型,因此不能对其调用['experiment_id']
.
我发现有一点令人惊讶的是,limit(1)
返回的是一个游标对象,而不是单个值或None
类型.
我应该如何编写一个从文档集合中找到字段'experiment_id'
的最大值的pymongo查询?
很明显,以下方法将会奏效,但似乎不是一个特别好的解决方案.
for document in documents:
return document['experiment_id']