取消设置导致MongoError:无效修饰符$ unset

时间:2013-06-09 23:33:14

标签: mongodb

发出MongoDB命令:

db.foo.insert({ x: "foo", y: "bar" })
db.foo.update({ x: "foo" }, { $unset: { y: 1 } })

导致此错误:MongoError: Invalid modifier $unset

根据我的理解,根据MongoDB文档的Update Operators: $unset部分,这应该完美无瑕。

Shell版本:2.4.4 - 安装(Ubuntu 10.04):mongodb-10gen_2.4.4_amd64.deb

MongoDB日志说:update test.foo query: { x: "foo" } exception userassert:Invalid modifier specified $unset 0ms

1 个答案:

答案 0 :(得分:1)

事实证明,虽然MongoDB版本实际上是2.4.4,但数据库版本是1.2.2。虽然我最近将mongod版本升级到最新版本,但我忽略了停止mongod进程本身。

解决方案很简单(我正在使用配置文件):

mongod --dbpath /data/db --shutdown
mongod --config /etc/mongod.conf

这有效地将我的数据库版本升级到2.4.4:)