2014-03-07 6 views
1

Я получаю странную ошибку в Метеор. Это позволяет мне обновлять счет, но когда я пытаюсь изменить счет, он не будет обновляться.Как вы можете отображать с ошибкой MongoDB в MeteorJs?

Template.listItem.events({ 
'click .remove': function(e, template) { 
    e.preventDefault(); 
    ListItems.remove(this._id); 
    //Router.go('listPage', {_id: template.data._id}); 
}, 
'click .listItem': function(e, template) { 
    e.preventDefault(); 
    var item = ListItems.findOne(this._id); 
    ListItems.update(this._id, {$set: { picked: true }}); 
    Items.update(item.itemId, {$inc: {pickedCount: 1}}); 
}, 
'click .picked': function(e, template) { 
    e.preventDefault(); 
    var item = ListItems.findOne(this._id); 
    console.log(item.itemId); 
    ListItems.update(this._id, {$set: { picked: false }}); 
    Items.update({_id: item.itemId}, {$inc: {pickedCount: -1}}); 
} 
}); 

Выбранный счет - это то, что я пытаюсь вернуть. Все, что я прочитал, говорит, что это должно сработать. Как я могу отобразить ошибку у MongoDB, если она есть? Является ли это принятым синтаксисом для уменьшения поля в Монго?

+0

Можете ли вы вставить ошибку _strange_ вы видите здесь? Это поможет диагностировать проблему. –

ответ

0

Большинство Meteor.call функций (или которых Collection.update является одним), принять последний аргумент как обратный вызов. Из docs:

обратного вызова функции Необязательный. Если присутствует, вызывается с объектом ошибки как первый аргумент и, если нет ошибки, количество затронутых документов как второе.

Таким образом, вы можете написать вызов update как:

Items.update({_id: item.itemId}, {$inc: {pickedCount: -1}}, function (err) { 
    console.log("Error = ", err); 
}); 

Однако ошибка на консоли сервера, вероятно, будет более информативным в вашем случае.

+0

Эта ошибка ответила «Error = undefined». Когда я смотрю элемент, который отображает selectedCount, счет будет увеличиваться всякий раз, когда я нажимаю элемент, который не был выбран. Если я нажимаю элемент, чтобы вернуть его, чтобы он не был выбран, он не уменьшает значение элемента pickCount. – Chris

Смежные вопросы