2013-08-15 9 views
6

Szukałem dokumentacji dotyczącej mongoingu i przepełnienia stosu, i nie wydaje się, że jest to bardzo jasna odpowiedź, więc pytam: jak najlepiej zapytać DictField? przykładowy kod:Najlepszy sposób na zapytanie do DictField w MongoEngine

class Note(Document): 
    someData = DictField() 

note = Note() 
note.someData['someID'] = {"name": "Steve", "age":25} 
note.save() 

Najbliżej udało mi się znaleźć w docs byłoby:

Note.objects(someData__name="Steve") 

ale nie pracuje Znowu czuję się jak to powinno być prosta odpowiedź. Dziękujemy za pomoc

Odpowiedz

9

Masz złą prośbę, ponieważ tęsknisz za someID.

zobaczenia struktury w dB:

>>> db.note.findOne() 
>>> { 
    "_id": ObjectId("'0'*24") 
    "someData": { 
     "someID": { 
      {"name": "Steve", "age":25} 
     } 
    } 
} 

więc prawo żądania będzie Note.objects(someData__someID__name="Steve").

Powiązane problemy