【问题标题】:mongodb text search: invalid operator: $searchmongodb 文本搜索:无效运算符:$search
【发布时间】:2016-06-28 05:55:13
【问题描述】:

this 密切相关,但我使用的是 mongod 3.2 版,这意味着它是一个不同的问题。

我创建了一个文本索引:

> db.mycollection.createIndex({body:'text'})

然后我尝试搜索它:

> db.mycollection.find({$text:{$search:'foo'}})
Error: error: { "$err" : "invalid operator: $search", "code" : 10068 }

should 工作。 (对 v3.2 的 $text 运算符的更改不应该影响这一点。)我做错了什么?

【问题讨论】:

  • 我没有发现您的查询有任何问题,而且运行良好。如果可能,请尝试重新启动数据库甚至重新安装。
  • 同意。查询正确,运行良好。
  • 谢谢,我已经使用the docs 进行了全新的卸载/重新安装,但结果发现旧数据库没有被删除。

标签: mongodb full-text-search fulltext-index


【解决方案1】:

问题是由在 mongodb 卸载/重新安装过程中幸存下来的旧数据库(由 mongod 2.4 创建)引起的。 official doumentation 没有提到,但是在卸载旧版本时,必须这样做:

sudo rm -r /data/db/*

(可能是因为 2.4 的安装方式?)删除这些文件,并使用 mongodumpmongorestore 命令将我的旧数据转发。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多