2009-11-16 146 views
1

我一直在浏览文档,但我似乎无法找到一种方法来使用只有一个键在我的mongodb集合上执行查找。 例如,假设这是我的收藏里mongodb,pymongo查询

{ 'res1': 10 } 
{ 'res2: 20 } 

我如何可以查询只使用键“RES1”的收集,以获得10?

回答

2

不知道你想exaclty什么,所以......这是,如果你想有钥匙RES1集合中的所有文件:

db.collection.find({'res1': { $exists : true }})

这就是,如果你想所有具有关键RES1文件设置为10:

db.collection.find({'res1': 10})

+0

完美,谢谢! – pns 2009-11-16 10:54:17

2

嗯,我想我构建我的数据都错了,我应该有这样的事情:

{ 'name': 'res1', 
    'value': 10 } 

对不对?

+0

对 - 你也可以使用字段说明符来取回值部分: 'db.collection.find({'name':'res1'},fields = ['value'])' – mdirolf 2009-11-16 16:13:37

1
> db.collection.find({'res1': 10}) # Returns a cursor. 

在你的情况,find_one方法将做必要的。

> db.collection.find_one({'res1': 10}) # Returns a document whose value is 10