Bri*_*ill 3 python mongodb pymongo
我希望使用pymongo在我的python应用程序中实现全文搜索.我一直在看这个问题,但由于某种原因,我无法在我的项目中实现这个,因为我收到了一个错误no such cmd: text.任何人都可以指导我做错了吗?
这是我的代码:
db = client.test
collection = db.videos
def search_for_videos(self, search_text)
self.db.command("text", "videos",
search=search_text,
limit=10)
Run Code Online (Sandbox Code Playgroud)
我试图搜索的集合被调用videos但是我不确定我是否将它放在正确的参数中,我也不确定我是否需要该行project={"name": 1, "_id": 0}.
我相信这里的文档是使用mongo shell来执行命令,但我希望在我的代码中执行此操作.
我已经看过使用该db.videos.find()函数,但似乎也无法正确实现它.
如何从我的Python代码中使用PyMongo全文搜索?
小智 11
首先要确保您在此处提到的字段上创建了文本索引,或者您也可以使用pymongo执行此操作:
collection.create_index([('your field', 'text')])
Run Code Online (Sandbox Code Playgroud)
使用pymongo你可以这样做来搜索:
collection.find({"$text": {"$search": your search}})
Run Code Online (Sandbox Code Playgroud)
你的功能应该是这样的:
def search_for_videos(search_text):
collection.find({"$text": {"$search": search_text}}).limit(10)
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你.
| 归档时间: |
|
| 查看次数: |
4051 次 |
| 最近记录: |