2013-08-15 17 views
6

Mongoengine belgeleriyle ve yığın taşmasıyla uğraştım ve bunun çok açık bir cevabı gibi görünmüyor. Bu yüzden şunu soruyorum: DictField? örnek kod:MongoEngine'de bir DictField'ı sorgulamanın en iyi yolu

Note.objects(someData__name="Steve") 

ama bu basit bir cevabı olmalı gibi hissediyorum Yine çalışma edilmemiştir:

class Note(Document): 
    someData = DictField() 

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

Ben docs bulabildiğim en yakın olurdu. Yardımınız için teşekkür ederiz.

cevap

9

someID numaralı telefonu kaçırdığınız için yanlış bir isteğiniz var.

Eğer db yapısı bakınız:

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

Yani şu istek Note.objects(someData__someID__name="Steve") olacaktır.

İlgili konular