python - Mongo 投影结果作为所选项目的数组

标签 python mongodb mongodb-query pymongo

对于 mongo 中的给定文档

{"_id" : "joe":  
  grocerylist: [ "cheddar", "apple", "oranges" ]
} 
{"_id" : "joanna":  
grocerylist: [ "cheddar", "foobar" ]
}
{"_id" : "john": 
grocerylist: [ "apple", "oranges" ]
}

如果我在列表中搜索带有切达干酪的用户

find({"grocerylist" : cheddar}, fields={'_id' : 1}) 

我明白

[{u'_id': u'joe'}, {u'_id': u'joanna'}]

使用 Mongo,我怎样才能获得匹配用户的列表,就像这样..

[u'joe', u'joanna']

谢谢。

最佳答案

_id 在整个集合中是唯一的,因此您可以使用 distinct在这里。

collection.distinct('_id', {'grocerylist' : cheddar})

关于python - Mongo 投影结果作为所选项目的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37217732/

相关文章:

python - 如何在 Pyalgotrade 中使用多种工具创建复合策略?

javascript - 聚集累积内部对象

mongodb - 如何在 MongoDB 中进行嵌套 $lookup 搜索?

Python 'resource' 模块 - 负值和无法识别的 RLIMIT_VMEM

python - groupby 的条件均值

json - 在 MongoLab 上运行的 MongoDB 中日期的语法是什么?

json - 对此后端堆栈的反馈

mongodb - 使用golang mongo-driver,MongoDB更新操作不起作用

python - 多处理进程是否必须在调用的函数结束时终止?

mongodb - 为集合中的每个文档生成一个新的 Mongo 对象 ID?