Python 在PyMongo中使用$not$in$regex
我想做一个PyMongo,相当于Python 在PyMongo中使用$not$in$regex,python,regex,django,mongodb,pymongo,Python,Regex,Django,Mongodb,Pymongo,我想做一个PyMongo,相当于供应商不在('Amazon','eBay','AliBaba') 我可以通过以下方式使其在MongoDB中工作: 'vendor': {'$not': {'$in': [/^Amazon/, /^eBay/, /^AliBaba/]}} 这很有效 在PyMongo,无论我尝试什么,我都没有得到任何结果。它不会抛出任何错误,但也不会返回任何结果 以下是我尝试过的: (一) (二) 我错过了什么?为什么我不能在PyMongo中使用呢?我的猜测是,可能您正在尝试设计一
供应商不在('Amazon','eBay','AliBaba')
我可以通过以下方式使其在MongoDB中工作:
'vendor': {'$not': {'$in': [/^Amazon/, /^eBay/, /^AliBaba/]}}
这很有效
在PyMongo,无论我尝试什么,我都没有得到任何结果。它不会抛出任何错误,但也不会返回任何结果
以下是我尝试过的:
(一)
(二)
我错过了什么?为什么我不能在PyMongo中使用
呢?我的猜测是,可能您正在尝试设计一个表达式,该表达式与:
^(?!.*\b(Amazon|eBay|AliBaba)\b).*$
不过我不确定
或者可能:
.*?\bAmazon\b.*
.*?\beBay\b.*
.*?\bAliBaba\b.*
如果您希望探索/简化/修改该表达式,它已被删除
在的右上面板上进行了说明
. 如果你愿意,你可以
也可以观看,它将如何匹配
对照一些样本输入
我们的代码可能如下所示:
db.collection.find({name:{'$regex' : '^(?!.*\b(Amazon|eBay|AliBaba)\b).*$', '$options' : 'i'}})
参考文献
.*?\bAmazon\b.*
.*?\beBay\b.*
.*?\bAliBaba\b.*
db.collection.find({name:{'$regex' : '^(?!.*\b(Amazon|eBay|AliBaba)\b).*$', '$options' : 'i'}})