【发布时间】:2015-04-28 00:11:56
【问题描述】:
我一直在尝试使用 node.js api 在 findAndModify 查询中使用 $addToSet。但是我收到一个错误,即前缀字段 $addToSet 对存储无效。该查询使用 mongo shell 客户端工作,但不能使用 api。
MongoClient.connect(config.mongo.uri, function(err, db) {
assert.equal(null, err)
console.log('Connected to mongodb');
db.collection(‘users’).findAndModify(
{‘username’: ‘foo’},
[],
{$addToSet: {roles: “somerole”}},
{upsert: true, new: true}, function(err, user) {
if (err) console.log(err});
});
上面的代码给了我一个错误,抱怨设置一个以受保护的关键字 $addToSet 开头的字段这个错误:
MongoError: 异常:'$addToSet' 中的美元 ($) 前缀字段 '$addToSet' 对存储无效。
版本: 蒙哥:2.6.6 节点mongodb:1.4.31
【问题讨论】:
-
当我尝试它时效果很好,但我确实需要将智能引号更改为普通引号。不确定这是否只是复制和粘贴问题。
标签: mongodb