2017-03-04 69 views
0

我在MongoDB的約,我使用insert.one()命令通過Python腳本插入不同的飲料以下條目:PyMongo - 搜索的所有子文件值

{ 
    "_id" : ObjectId('ffffffffffffffffff'), 
    "Type" : "Juice" 
    "Drinks" : {"Lemonade", 
       "Apple Juice", 
       "Orange Juice" 
       } 
} 
{ 
    "_id" : ObjectId('aaaaaaaaaaaaaaaaaa'), 
    "Type" : "Alcohol" 
    "Drinks" : {"Rum", 
       "Whiskey", 
       "Vodka" 
       } 
} 

我想輸入Python中的字符串Whiskey我想提取的飲料只是類型:

Alcohol

我怎麼能去這樣做?是否有另一個類似的問題得到解答?我無法在兩個條目中搜索「飲料」的所有值,然後僅返回「類型」。

我發現此相關的問題: PyMongo- selecting sub-documents from collection by regex也是這樣:How to get all sub-documents with a certain value of a certain field? 但我無法弄清楚如何將這些概念應用到我的問題/無法弄清楚如何在Python寫的出來。

+0

這不是一個有效的BSON文檔 – styvane

回答

1

您可以使用下面的查詢該

db.collection.findOne({Drinks: 'Whiskey'}, {Type: 1})