PyMongo - 搜索所有子文档的值

时间:2017-03-04 20:44:01

标签: python mongodb pymongo

我在MongoDB中有以下条目,说明我使用insert.one()命令通过Python脚本插入的不同饮料:

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

我想在Python中输入字符串Whiskey,我想提取饮料类型:

Alcohol

我该怎么做呢?有没有其他类似的问题得到解答?我在搜索"饮料"的所有价值时遇到了麻烦。在两个条目中然后只返回" Type"。

我发现了这个相关的问题: PyMongo- selecting sub-documents from collection by regex以及此:How to get all sub-documents with a certain value of a certain field? 但我无法弄清楚如何将这些概念应用于我的问题/无法弄清楚如何用Python编写这些概念。

1 个答案:

答案 0 :(得分:1)

您可以对此

使用以下查询
db.collection.findOne({Drinks: 'Whiskey'}, {Type: 1})