如何使用Python和MongoDB查找文档字段的最大值?

问题描述 投票:0回答:1

我正在尝试在 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']
    
mongodb pymongo
1个回答
0
投票
由于您只想要一个结果,因此可以使用

find_one()

 以及传递给 
sort
的标准,并删除
find()
子句,因为它无论如何都会被忽略。
所以

limit


© www.soinside.com 2019 - 2024. All rights reserved.