我收集了一些文件,比如:
{
_id: 5,
vals: [100, 1100, 1500]
},
{
_id: 10,
vals: [1100, 1700]
}
如何查询在vals
字段中包含以下内容的文档:
- 1100
- 1700或100
- 100和1100
我可以使用一些理解魔法,比如:
g = lambda codes: (
d for d in collection.find() if any(code in d["vals"] for code in codes)
)
g([100, 1700]).next()
或者,对于和:
g = lambda codes: (
d for d in collection.find() if all(code in d["vals"] for code in codes)
)
g([100, 1100]).next()
这似乎有点笨重,但如果有一些发现魔法,可以与司机.