MongoEngine查询唯一属性

时间:2013-10-16 04:19:20

标签: python mongodb mongoengine

mongoengine查询是否可以返回包含唯一属性的对象列表。例如,如果我有一个数据库

[{name: Joe, age:22},
{name: Susie, age 22},
{name: Joe, age: 70},
{name: Susie, age:21}]

我如何查询数据库,以便我想要所有年龄<25但只有唯一名称的对象。例如,我得到以下结果

[{name: Joe, age:22},
{name: Susie, age 21}]

[{name: Joe, age:22},
{name: Susie, age:22}]

1 个答案:

答案 0 :(得分:1)

你想要MongoDB(以及pymongo的)cursor.distinct()方法。

示例代码如下:

from pymongo import MongoClient

query = {'age': {'$lt': 25}}

conn = pymongo.MongoClient('mongodb://localhost:27017')
users = conn['database_name']['collection_name'].find(query).distinct('name')