class UserThings(DynamicDocument):
username = StringField()
things = DictField()
dcrosta_things = UserThings(username='dcrosta')
dcrosta_things.things['foo'] = 'bar'
dcrosta_things.things['bad'] = 'quack'
dcrosta_things.save()
结果在 MongoDB 文档中,如:
{ _id: ObjectId(...),
_types: ["UserThings"],
_cls: "UserThings",
username: "dcrosta",
things: {
foo: "bar",
baz: "quack"
}
}
我使用 mongoengine,但无法查询 dict 字段的键。
例如,我有一个清单 thing_list = ['foo', 'faa', 'baz', 'xyz']
我想过滤所有UserThings
包含这些东西的东西......
就像是 .. UserThings.objeect.filter(things__in=thing_list)
这绝对行不通。有没有办法对dictfield上的变量/动态键执行过滤。如果没有,我们可以使用 pymongo/raw 查询吗?