为什么我的客户端更新不起作用?

Why isnt my update from client working?

这是一个令人沮丧的障碍。我需要更新和递增集合中数组的值。为此,我使用 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} });

...无济于事。

有人能告诉我为什么它在我的代码中不起作用吗?我哪里错了?

@CodeChimp,@Kash 我非常抱歉大家。我想到了。 似乎我从未将代码的顺序追踪到最后。进一步(在我在这里发布的范围之外)是另一个带有查询的函数:

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} });

我花了很多时间才意识到。太尴尬了!