python - pymongo 排序和 find_one 问题

标签 python mongodb pymongo

我正在尝试使用键 position 对名为 user_score 的集合进行排序,并获取结果的第一个文档。在这种情况下,集合 user_score 不存在,我希望得到结果为 None,但我得到了一个光标。

1。 结果 =

db.user_score.find({'score':'$lt':score}}).sort("position,pymongo.DESCENDING").limit(1)

现在我像下面这样更改了我的查询,但没有得到任何预期的结果。

2。 结果 =

db.user_score.find_one({'score':{'$lt':score}}, sort=[("position", pymongo.DESCENDING)])

我的第一个查询有什么问题?

谢谢

最佳答案

我的回复有点晚了,但当前版本的 PyMongo 似乎确实支持 sort对 find_one 调用的操作。

来自文档页面 here (请用 grep 查找 find_one 部分):

All arguments to find() are also valid arguments for find_one(), although any limit argument will be ignored. Returns a single document, or None if no matching document is found.

示例用法如下:

filterdict = {'email' : 'this.is@me.com'}
collection.find_one(filterdict, sort=[('lastseen', 1)])

希望这对最近的搜索者有所帮助!

关于python - pymongo 排序和 find_one 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079107/

相关文章:

c# - MongoDB 添加数组到 BsonDocument

node.js - MongoDB - 错误 : document must have an _id before saving

python - pymongo 返回与 MongoDB Shell 不同的数据

Cygwin 上 virtualenv 中的 Python 2.7 pip install lxml 失败

python - 在 Python 中打开和查看 .npz 文件

ruby-on-rails - 失败,错误 10068 : "invalid operator: $oid"

python - pymongo 错误 : bson. errors.InvalidBSON: 'utf8' 编解码器无法解码位置 25 中的字节 0xa1:无效的起始字节

Python:多处理代码非常慢

python - 使用 CVX/CVXPY 求解 L2 正则化逻辑回归

python - 是时候在 Python 中给变量赋值了