mongodb 文本搜索:无效运算符:$search
mongodb text search: invalid operator: $search
与 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 运算符的更改不应影响这一点。)我做错了什么?
问题是由在 mongodb 卸载/重新安装过程中幸存下来的旧数据库(由 mongod 2.4 创建)引起的。 official doumentation没有提到,但是在卸载旧版本时,需要做的是:
sudo rm -r /data/db/*
(可能是因为 2.4 的安装方式?)删除这些文件,并使用 mongodump
and mongorestore
命令将我的旧数据向前移动。
与 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 运算符的更改不应影响这一点。)我做错了什么?
问题是由在 mongodb 卸载/重新安装过程中幸存下来的旧数据库(由 mongod 2.4 创建)引起的。 official doumentation没有提到,但是在卸载旧版本时,需要做的是:
sudo rm -r /data/db/*
(可能是因为 2.4 的安装方式?)删除这些文件,并使用 mongodump
and mongorestore
命令将我的旧数据向前移动。