首页 > 解决方案 > MongoDB查找mongo数组中的所有项目是否不在python列表中

问题描述

我做了一些研究,但没能做到:pymongo只有当 MongoDB 数组字段中的所有项目都不在 python 列表中时,才能使用正确的 MongoDB 查询来查找文档?

就像是:

python3
blocked_firms = ["firma", "firmb", "firmc"]
cur = DB.tweets.find({
    "firm": {"$nin": blocked_firms}
}, {"text": 1, "_id": 0})

因此,在 MongoDB 文档中找到所有公司中的所有项目都不blocked_firms等于字段中的任何项目。MongoDB 中的字段是一个数组字段。firmfirm

python相当于:

python3
In [2]: l1 = ["a", "b"]                                                                                                                                                                                            
In [3]: l2 = ["b", "c"]                                                                                                                                                                                            

In [4]: any([i in l2 for i in l1])                                                                                                                                                                                 
Out[4]: True

In [5]: l3 = ["d", "c"]

In [6]: any([item in l3 for item in l1])                                                                                                                                                                          
Out[6]: False

标签: pythonmongodb

解决方案


推荐阅读