【发布时间】:2015-05-19 10:49:07
【问题描述】:
我有一个包含如下文件的调查系统:
{
"_id" : ObjectId("555b0b33ed26911e080102c4"),
"question" : "survey",
"subtitle" : "",
"answers" : [
{
"title" : "option 1",
"color" : "#FFEC00",
"code" : "opt1",
"_id" : ObjectId("555b0b33ed26911e080102ce"),
"votes" : 0,
"visible" : true
},
{
"title" : "option 2",
"color" : "#0bb2ff",
"code" : "opt2",
"_id" : ObjectId("555b0b33ed26911e080102cd"),
"votes" : 0,
"visible" : true
}
]
}
现在,我正在提交投票,因此我需要为特定调查增加“投票”字段(取决于用户选择的选项)。
我的问题是:我可以有多个这样的文档,所以 我如何在这个数组中 $inc 字段 votes 以获取特定文档? 我尝试了这个查询(基于 @987654321 @),但它没有用:
db.bigsurveys.update(
{_id: ObjectId('555b0b33ed26911e080102c4'), 'answers.$.code' : 'opt1'},
{ $inc : { 'answers.$.votes' : 1 } }
)
这里的主要问题是我可以有多个这样的文档。提前致谢!
【问题讨论】:
标签: mongodb mongodb-query database nosql