mogngodb $ addToSet重复
问题描述:
我正在用mongodb和node js.构建一个应用程序。关于创建民意调查,我想在数据库中添加新选项并增加每个submit.all的投票数量。搜索复制它,而不是仅仅更新在这里投票的选项是代码:
let newChoice = function(option) { this.option = choice; this.votes = 0; }; let New = new newChoice(choice);
poll.update({_id: id}, {$addToSet: {"options": New, $exists: false}}, function(err, doc){
if (err) {
console.log(err);
}
else {
console.log(doc)
}
});
poll.update({_id: id, "options.option": choice}, {$inc: {"options.$.votes": 1}}, function(err, vote) { if (err) { console.log(err); } });
res.redirect("/show/"+id);
});
,这里是我存储在数据库“选项”的方式:
[ { "option": " pizza", "votes": 0 }, { "option": "burger ", "votes": 0 }
任何想法如何防止重复?
答
如果option
你choice
和votes=0
不会为增加计预期会工作已经
db.coll.update(
{_id: id, 'options.option': {$ne: my_choice}},
{$push: {options: {'option': my_choice, 'votes': 0}}});
存在此操作后,您的更新命令你可以有条件地插入。
它没有工作。有链接测试https://dapp-gkazikas.c9users.io/show/58e22be8776fa006b8cfd48a –
我的错误我工作很好谢谢:) –