【发布时间】:2011-08-12 13:03:14
【问题描述】:
我正在尝试使用 $inc 运算符在我的 mongodb 文档中增加一个字段。我试图增加的字段是我的文档计数字段的子属性,例如:
mydoc: {
count: {
schedules: 0
}
}
当我尝试这个时:
> db.mydocs.update({ _id: new ObjectId('4db5c2f3dc73c5afdaffd636') }, { $inc: { count.schedules: 1 } }, { upsert: true, safe: true }, null);
从我的 mongo shell 中,我收到以下错误消息:
Mon Apr 25 11:59:05 SyntaxError: missing : after property id (shell):1
我尝试了几种语法变体,结果相似。我需要对此采取不同的方法吗?我已验证我的文档存在,并且 count.schedules 字段设置为 0。
我可以使用这样的命令直接设置值:
db.mydocs.update({ _id: new ObjectId('4db5c2f3dc73c5afdaffd636') }, { $set: { count: { schedules:1 } } }, null, null);
但是如果我尝试 $inc 操作的语法,我会得到这个错误:
Modifier $inc allowed for numbers only
谢谢
【问题讨论】:
标签: javascript node.js mongodb database