0
我試圖觸發客戶端方法中的更新(思後進入服務器)如下:流星collection.update沒有更新文件
Meteor.methods({
// Calling this and passing in a currentSelected value = "avatar" on click
'updateSelectedDocument' : function(currentSelected) {
var current = LayoutVariations.findOne({elementID: currentSelected});
var index = current.currentIndex;
myCollection.update({_id :current._id}, {currentIndex: 2});
}
});
的.update應該找到該文件並更新文檔的currentIndex屬性,它是一個整數。
我在控制檯通過傳入_id(例如「GRvujvgBEmem3Dp3d」)來運行myCollection.update({_id :current._id}, {currentIndex: 2});
,它可以工作。當我在方法中調用它時,它不會更新,也不會引發任何錯誤。
想知道可能是什麼問題。
感謝您的回答。我試過'$ set'運算符。但是我看到了同樣的行爲。運行'myCollection.update({_ id:current._id},{$ set:{currentIndex:2}});'(用實際的_id)返回1並更新文檔。但是從函數內部更新它似乎並沒有更新數據庫中的文檔。 – Poyi 2015-04-05 22:42:17
你在哪裏調用客戶端的方法'Meteor.call(「updateSelectedDocument」,function(error,result){...});'? – chridam 2015-04-05 22:47:04
只是一個模板點擊事件'' Template.frame.events({ '點擊按鈕':函數(){ Meteor.call( 'updateSelectedDocument',currentSelected);} });內'' 我只是將該方法移入服務器(「服務器」文件夾下的文件)。它似乎正確更新。看起來CRUD方法只適用於服務器端呢? – Poyi 2015-04-05 23:01:27