2017-03-04 70 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})