Py学习  »  MongoDB

我能按字典的键查询MongoDB吗?

sds • 6 年前 • 1307 次点击  

假设我的收藏 c

{ "_id": 1, "mydict":{"foo":..., "bar":..., "baz":..}, ...}
{ "_id": 2, "mydict":{"foo":..., "quux":..., "zot":..}, ...}
{ "_id": 3, "mydict":{"fuu":..., "quux":..., "xxx":..}, ...}

我想选择那些 任何 给定集合中的键,例如。, ["baz","zot"] ,在 mydict 字段。

我可以写一些像

c.find(query={
    "$or":[
        {"mydict.baz":{"$gt":0}},
        {"mydict.zot":{"$gt":0}},
    ]})

但是键的列表将比2大得多,所以我更喜欢更紧凑的内容(当然,我可以生成查询,但这不是重点)。

密迪克特 ?

有什么像

c.find(query={"$keys(mydict)":{"$intersect":["foo","bar","xxx","yyy","zzz"]}})
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55953
文章 [ 1 ]  |  最新文章 6 年前