Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 皮蒙戈。如何正确过滤以下数据?_Python_Mongodb_Pymongo - Fatal编程技术网

Python 皮蒙戈。如何正确过滤以下数据?

Python 皮蒙戈。如何正确过滤以下数据?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我的收藏看起来像: { .... "Main":{ ... "Tags":[ "tag1", "tag2", ... ] } } 给我一个标签列表,目标是从集合中找到所有对象,这样列表中的所有标签都在对象的标签列表中。做这件事最正确最简单的方法是什么?我找到了解决办法 filter[0]['$match']['Main.Tags']['$all'] =

我的收藏看起来像:

{
    ....
    "Main":{
        ...
        "Tags":[
            "tag1",
            "tag2",
            ...
        ]
    }
}
给我一个标签列表,目标是从集合中找到所有对象,这样列表中的所有标签都在对象的标签列表中。做这件事最正确最简单的方法是什么?

我找到了解决办法

filter[0]['$match']['Main.Tags']['$all'] = searced_tags_list

使用python和pymongo驱动程序的另一种替代方法: 假设您有数据库“DB”和集合“collection”。要获取包含标记“tag1”和“tag2”的所有文档,请执行以下操作

from pymongo import MongoClient

def main():
    mongoClient = MongoClient('mongodb://IP:PORT')
    db = mongoClient.DB
    collection = db.COLECTION

    objects = collection.find({"Main.Tags": {$all: ["tag1", "tag2"]}})

    for doc in objects:
        print doc[_id]      

if __name__ == "__main__":
        main()
上面的示例将显示搜索文档的_id


问候

到目前为止您做了什么?对python了解不多,但您需要构建以下查询
{Main.Tags:{$all:[“tag1”,“tag2”]}