2009-11-16 142 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