对于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']

谢谢。

最佳答案

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

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

07-24 09:38