我试图通过应用某种$in运算符但在多个字段(逻辑 AND)中查找我的 mongo 集合中的记录例子:假设我在名为 的集合中有以下记录items:[ { "key": 'a'; "value": 'b'; "etc": 'foo'; }, { "key": 'x'; "value": 'y'; "etc": 'bar'; }, { "key": 'a'; "value": 'y'; "etc": 'jazz'; }]现在我想执行类似的操作:db.items.find_all({"key, value": {"$in": [("a", "b"), ("x", "y")]}})这将产生结果记录:[ { "key": 'a'; "value": 'b'; "etc": 'foo'; }, { "key": 'x'; "value": 'y'; "etc": 'bar'; }]有类似的东西吗?或者一种操纵方式$in来实现该输出?非常感谢
1 回答
湖上湖
TA贡献2003条经验 获得超2个赞
$in
不是适合这项工作的工具。
你应该对旧的普通“或”没问题,除非我错过了你的要求中的某些内容:
the_list = [("a", "b"), ("x", "y")] db.items.find_all({"$or": [{"key":t[0], "value":t[1]} for t in the_list]} )
添加回答
举报
0/150
提交
取消