在 PyMongo 中查找子字符串
Find substrings in PyMongo
我想使用 PyMongo 在 MongoDB 的字段中查找子字符串。
以下查询工作正常,正是我所需要的:
db.collection.find({ "Animal": /cat|Dog/i})
但是,如果我尝试将值 /cat|Dog/i
作为字符串传递给 Python,它不起作用。
有没有办法在 PyMongo 中复制查询?
注意:/cat|Dog/i
是另一个集合中字段的值。它的形式是 'cat Dog'。基本上,我想将一个字段中的子字符串与另一个字段中的子字符串进行匹配。
您需要使用 re.compile()
函数将正则表达式模式编译为正则表达式对象。
import re
pat = re.compile(r'cat|Dog', re.I)
db.collection.find({ "Animal": {'$regex': pat}})
我想使用 PyMongo 在 MongoDB 的字段中查找子字符串。
以下查询工作正常,正是我所需要的:
db.collection.find({ "Animal": /cat|Dog/i})
但是,如果我尝试将值 /cat|Dog/i
作为字符串传递给 Python,它不起作用。
有没有办法在 PyMongo 中复制查询?
注意:/cat|Dog/i
是另一个集合中字段的值。它的形式是 'cat Dog'。基本上,我想将一个字段中的子字符串与另一个字段中的子字符串进行匹配。
您需要使用 re.compile()
函数将正则表达式模式编译为正则表达式对象。
import re
pat = re.compile(r'cat|Dog', re.I)
db.collection.find({ "Animal": {'$regex': pat}})