2016-06-28 18 views
1

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操作符的更改不应该影响这一点。)我在做什么错了?

+0

我没有看到任何问题与您的查询,它运行得很好。尝试重新启动数据库,或者尽可能重新安装。 – Saleem

+0

同意。该查询是正确的,它工作正常。 – notionquest

+0

谢谢,我使用[文档](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/)完成了全新的卸载/重新安装,但事实证明,旧的数据库没有已被删除。 –

回答

0

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

sudo rm -r /data/db/* 

删除这些文件,并把我的旧数据前使用(也许是因为2.4是如何安装?) mongodumpmongorestore命令起作用。