python - PyMongo Atlas Search 不返回任何内容
问题描述
我正在尝试使用 Atlas for MongoDB 进行全文搜索。我正在通过 Python 中的 PyMongo 驱动程序执行此操作。我正在使用聚合管道,并进行 $search 但它似乎没有返回任何内容。
cursor = db.collection.aggregate([ { "$search": {"text": { "query": "hello", "path": "text_here"} } }, {"$project": {"file_name": 1} } ])
for x in cursor:
print(x)
我试图用这段代码实现的是搜索集合中名为“text_here”的字段,我正在搜索一个术语“hello”并返回包含该术语的所有结果并按它们“文件名”。但是,它什么也没返回,我很困惑,因为这与文档网站上的示例代码几乎相同。我现在唯一能想到的是路径可能不正确并且它无法访问我指定的字段。此外,此代码不返回任何错误,只是不返回任何内容,因为我通过循环游标进行了测试。
解决方案
我遇到过同样的问题。我还通过在查询中传递索引的名称来解决它。例如:
{
index: "name_of_the_index",
text: {
query: 'john doe',
path: 'name'
}
}
我按照教程进行操作,但如果不指定“索引”名称,则无法获得任何结果。我希望这在文档中被提及为强制性的。
推荐阅读
- javascript - 如何拉伸不适用于图像的属性反应原生?
- reactjs - 如何在 antd Modal 组件中进行异步操作?
- python - 根据近似匹配或完全匹配合并两个 Pandas DataFrame
- r - 估计未指定分布的覆盖概率时的单根误差
- java - 将变量从适配器发送到活动
- python - 字符串到整数的 TypeError
- r - 使用 Apply 系列的迭代算法:Metropolis-Hasting Alg
- java - 仅 Websocket 与其余用于发送消息的 Websocket
- angular - 拦截器似乎没有初始化
- asp.net - IIS 上的 ASP.Net 混合内容错误