2016-07-18 4 views
0

Это расстраивающий блокпост. Мне нужно обновить и увеличить значения массива внутри коллекции. Для достижения этой цели, я получить доступ к коллекции, используя синтаксис 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} }); 

... Безрезультатно.

Может кто-нибудь сказать мне, почему он не работает в моем коде? Где я иду не так?

+1

Вы, должно быть, уже проверили. но все равно спрашивать. вы уверены, что подключаетесь к одной и той же БД во время работы как в коде, так и в консоли? – KaSh

+0

@KaSh Ну, у меня только один buyList. А я и обновляюсь только через консоль. – SirBT

+0

Когда вы говорите, что он работает успешно, когда вы запускаете его в консоли, я предполагаю, что это означает в Chrome/Firefox? Работает ли '$ set', и только' $ inc' терпит неудачу, или они оба терпят неудачу? Что вы видите в разделе WS в Dev Tools/Network on Chrome при запуске кода или при запуске через консоль JS? Вы должны увидеть обновления DDP. – CodeChimp

ответ

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

Его взял меня так много часов, чтобы понять. Так стыдно!