Это расстраивающий блокпост. Мне нужно обновить и увеличить значения массива внутри коллекции. Для достижения этой цели, я получить доступ к коллекции, используя синтаксис 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} });
... Безрезультатно.
Может кто-нибудь сказать мне, почему он не работает в моем коде? Где я иду не так?
Вы, должно быть, уже проверили. но все равно спрашивать. вы уверены, что подключаетесь к одной и той же БД во время работы как в коде, так и в консоли? – KaSh
@KaSh Ну, у меня только один buyList. А я и обновляюсь только через консоль. – SirBT
Когда вы говорите, что он работает успешно, когда вы запускаете его в консоли, я предполагаю, что это означает в Chrome/Firefox? Работает ли '$ set', и только' $ inc' терпит неудачу, или они оба терпят неудачу? Что вы видите в разделе WS в Dev Tools/Network on Chrome при запуске кода или при запуске через консоль JS? Вы должны увидеть обновления DDP. – CodeChimp