这是一个令人沮丧的障碍。我需要更新和增加集合内部的数组值。为此,我使用MongoDB语法访问集合,如下所示:
var selectedBargain = Session.get('selectedBargain');
//Confirm that Session.get is successful
console.log("SelectedID is: "+selectedBargain);
buyList.update(selectedBargain, {$inc: {nrOfUnreadMessages: 1} });
buyList.update(selectedBargain, {$set: {messageToggle: 0} });
控制台成功打印出: SelectedID为:nEXHQFEt6kZ9Wzvg3
奇怪的是,更新查询成功运行当我通过控制台运行它时:
buyList.update("nEXHQFEt6kZ9Wzvg3", {$inc: {nrOfUnreadMessages: 1} })
我尝试将代码更改为:
buyList.update({_id: selectedBargain}, {$inc: {nrOfUnreadMessages: 1} });
buyList.update({_id: selectedBargain}, {$set: {messageToggle: 0} });
......无济于事。
有人可以告诉我为什么它在我的代码中不起作用?我哪里错了?
答案 0 :(得分:0)
buyList.update(ChatSubMessagesId, {$set: {nrOfUnreadMessages: 0} })
buyList.update(ChatSubMessagesId, {$set: {messageToggle:1} } )
结果是它会反转所需的代码:
buyList.update({_id: selectedBargain}, {$inc: {nrOfUnreadMessages: 1} });
buyList.update({_id: selectedBargain}, {$set: {messageToggle: 0} });
我花了这么多时间才意识到这一点。太尴尬了!