在 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}})