在MongoEngine中查询DictField的最佳方法

时间:2013-08-15 22:40:00

标签: mongoengine

我一直在寻找mongoengine文档和堆栈溢出,似乎没有一个非常明确的答案,所以我问:你如何最好地查询DictField? 示例代码:

class Note(Document):
    someData = DictField()

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

我在文档中找到的最接近的是:

Note.objects(someData__name="Steve") 

但这还没有奏效 再次,觉得这应该是一个简单的答案。谢谢你的帮助

1 个答案:

答案 0 :(得分:12)

您的错误请求,因为您错过了someID

在db中查看结构:

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

所以正确的请求将是Note.objects(someData__someID__name="Steve")

相关问题