首页 > 解决方案 > 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”并返回包含该术语的所有结果并按它们“文件名”。但是,它什么也没返回,我很困惑,因为这与文档网站上的示例代码几乎相同。我现在唯一能想到的是路径可能不正确并且它无法访问我指定的字段。此外,此代码不返回任何错误,只是不返回任何内容,因为我通过循环游标进行了测试。

标签: pythonmongodbpymongomongodb-atlas

解决方案


我遇到过同样的问题。我还通过在查询中传递索引的名称来解决它。例如:

{ 
  index: "name_of_the_index",
  text: {
    query: 'john doe',
    path: 'name'
  }
}

我按照教程进行操作,但如果不指定“索引”名称,则无法获得任何结果。我希望这在文档中被提及为强制性的。


推荐阅读