使用来自 mongodb 的 pymongo 进行搜索
Searching using pymongo from mongodb
我正在使用 Flask 应用程序查询来自 mongodb 的数据。来自 mongodb 的文档采用以下格式。
[{'organization_name': 'Example 1', 'date': '2021-10-15', 'url': 'https://www.example1.com/events/performances/641/2019-10-13/'}, {'organization_name': 'Example 2', 'date': '2021-10-21', 'url': 'https://file2.org/masterworks'}, {'organization_name': 'Example 3', 'date': '2021-10-21', 'url': 'https://file2.org/masterworks2'}]
现在基于url的查询和搜索是这样执行的
filter_stuff = {'url': 1, 'organization_name': 1, 'date':1, '_id': 0}
data = eventcol.find({'url': url}, filter_stuff)
此处搜索仅适用于精确完整 url。如果给出了 url 的任何部分,那么如何进行搜索,所有具有该部分的数据都会作为结果返回。
如果搜索 file2
则结果为 https://file2.org/masterworks and https://file2.org/masterworks2
的文档,如果搜索 events
则结果为 https://www.example1.com/events/performances/641/2019-10-13/
你能做这样的事情吗?
from pymongo import MongoClient
client = MongoClient()
db = client.test
def main(search_string):
collection = db.eventcol
for doc in collection.find({"url": {"$regex": search_string}}):
print(doc)
我正在使用 Flask 应用程序查询来自 mongodb 的数据。来自 mongodb 的文档采用以下格式。
[{'organization_name': 'Example 1', 'date': '2021-10-15', 'url': 'https://www.example1.com/events/performances/641/2019-10-13/'}, {'organization_name': 'Example 2', 'date': '2021-10-21', 'url': 'https://file2.org/masterworks'}, {'organization_name': 'Example 3', 'date': '2021-10-21', 'url': 'https://file2.org/masterworks2'}]
现在基于url的查询和搜索是这样执行的
filter_stuff = {'url': 1, 'organization_name': 1, 'date':1, '_id': 0}
data = eventcol.find({'url': url}, filter_stuff)
此处搜索仅适用于精确完整 url。如果给出了 url 的任何部分,那么如何进行搜索,所有具有该部分的数据都会作为结果返回。
如果搜索 file2
则结果为 https://file2.org/masterworks and https://file2.org/masterworks2
的文档,如果搜索 events
则结果为 https://www.example1.com/events/performances/641/2019-10-13/
你能做这样的事情吗?
from pymongo import MongoClient
client = MongoClient()
db = client.test
def main(search_string):
collection = db.eventcol
for doc in collection.find({"url": {"$regex": search_string}}):
print(doc)