2017-03-04 5 views
0

Ich habe folgende Einträge in MongoDB über verschiedene Getränke, die ich durch ein Python-Skript den insert.one() Befehl eingefügt:PyMongo - Searching Werte aller Teil Dokumente

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

I eingeben möchten die Zeichenfolge Whiskey in Python und ich möchte nur die Art des Getränks extrahieren:

Alcohol

Wie kann ich über das tun dies gehen? Gab es noch eine ähnliche Frage, die beantwortet wurde? Ich habe Probleme, alle Werte von "Getränke" in beiden Einträgen zu suchen und dann nur den "Typ" zurückzugeben.

fand ich diese Frage im Zusammenhang: PyMongo- selecting sub-documents from collection by regex und auch dies: How to get all sub-documents with a certain value of a certain field? Aber ich kann nicht herausfinden, wie diese Konzepte zu meinem Problem anwenden/kann nicht herausfinden, wie diejenigen, die in Python zu schreiben. Dies ist kein gültiges Dokument BSON

+0

verwenden können – styvane

Antwort

1

Sie folgende Abfrage für dieses

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