2017-03-04 4 views
0

私はinsert.one()コマンドを使用してPythonスクリプトを介して挿入異なるドリンクについてMongoDBの中に次のエントリを持っています。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

ために、次のクエリを使用することができます – styvane

答えて

1

あなたはこれが有効なBSONドキュメントではありません。この

db.collection.findOne({Drinks: 'Whiskey'}, {Type: 1}) 
関連する問題