1

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

我创建了一个文本索引:

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

然后我尝试搜索它:

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

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

4

1 回答 1

0

该问题是由在 mongodb 卸载/重新安装过程中幸存下来的旧数据库(由 mongod 2.4 创建)引起的。官方文档没有提到,但是在卸载旧版本的时候,需要这样做:

sudo rm -r /data/db/*

(也许是因为 2.4 的安装方式?)删除这些文件,并使用mongodumpandmongorestore命令将我的旧数据向前移动。

于 2016-06-28T15:03:19.537 回答