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 } 

任何想法如何防止重复?

如果optionchoicevotes=0不会为增加计预期会工作已经

db.coll.update(
    {_id: id, 'options.option': {$ne: my_choice}}, 
    {$push: {options: {'option': my_choice, 'votes': 0}}}); 

存在此操作后,您的更新命令你可以有条件地插入。

+0

它没有工作。有链接测试https://dapp-gkazikas.c9users.io/show/58e22be8776fa006b8cfd48a –

+0

我的错误我工作很好谢谢:) –