【发布时间】:2021-07-16 02:44:57
【问题描述】:
我有一个相当复杂的 Mongo 集合,我正在尝试实现详细的匹配标准。我已经在所有字段中创建了一个文本索引,如下所示:
db.create_index([("$**", "text")], name='allTextFields')
我在 PyMongo 中将它用于一些简单的搜索词(例如,“移民”),如下所示:
db.find({'$text': {'$search': "immigration"}
但是,我需要匹配某些足够通用的术语,以至于需要正则表达式类型规范。例如,我想匹配所有出现的“ice”而不找到“police”和各种其他排除项。
理想情况下,我可以创建一个搜索所有字段和子字段的正则表达式(参见下面的示例),但我不知道如何在 PyMongo(或 Mongo 中)实现这一点。
db.find({all_fields_and_subfields: {'$regex': '^ice\s*', '$options': 'i'}
有人知道怎么做吗?
【问题讨论】:
标签: python regex mongodb mongodb-query pymongo