MongoDB (pymongo):$in 用于具有多种可能性的“元组”字段

我试图通过应用某种$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来实现该输出?非常感谢


小唯快跑啊
浏览 148回答 1
1回答

湖上湖

$in不是适合这项工作的工具。你应该对旧的普通“或”没问题,除非我错过了你的要求中的某些内容:the_list = [("a", "b"), ("x", "y")] db.items.find_all({"$or": [{"key":t[0], "value":t[1]} for t in the_list]} )
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python