【问题标题】:Best way to query a DictField in MongoEngine在 MongoEngine 中查询 DictField 的最佳方法
【发布时间】:2013-08-15 22:40:00
【问题描述】:

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

class Note(Document):
    someData = DictField()

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

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

Note.objects(someData__name="Steve") 

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

【问题讨论】:

    标签: mongoengine


    【解决方案1】:

    你有错误的请求,因为你错过了someID

    在 db 中见结构:

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

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

    【讨论】:

    • 嗨@tbicr 我如何查询字典是否为空?谢谢!
    猜你喜欢
    • 2014-10-04
    • 1970-01-01
    • 2014-11-26
    • 2011-08-31
    • 2019-08-27
    • 2011-05-09
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多