1
我試圖通過其ID刪除一個文件,我不斷收到以下錯誤:流星移除由ID錯誤文檔
Exception in Mongo write: TypeError: object is not a function
I20160208-21:03:51.816(-8)?at packages/mongo/mongo_driver.js:322:1
I20160208-21:03:51.816(-8)?at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1)
我有一個表單,用戶填寫,並提交的情況下,文檔ID被返回並存儲爲會話變量curID
(某些其他會話變量也被設置,但與此無關)
在單獨的頁面上,有一個刪除按鈕。點擊後,會彈出確認框,如果確定,則會調用流星方法從集合中刪除文檔。所述curID
會話變量被傳遞,從而所述方法知道要刪除的文件
這是處理刪除按鈕點擊的代碼:
"submit .delete-participant": function(event){
// Prevent default browser form submit
event.preventDefault();
if (confirm("Are you sure you want to delete this participant?")){
Meteor.call("deleteParticipant", Session.get("curID"), function(err, id){
if (err){
alert(err);
} else {
Session.set("curID", "");
Session.set("participantCreated", false);
}
});
}
}
});
的deleteParticipant
方法剛剛找到1號文件具有匹配ID(從在curSub
會話變量),並將其刪除:
Meteor.methods({
deleteParticipant: function(id){
Participants.remove({_id: id}, {justOne: true})
}
});
我可能忽視的東西非常基本在這裏,但我不知道哪個對象錯誤指的是...
檢查服務器上「id」的類型。 – Tushar
我在這裏發現3個問題,可能會導致問題,'1',每當服務器沒有任何'返回',客戶端回調將只有一個參數'錯誤'。 ''2.如果你用'_id'去掉,這意味着你只刪除了一個項目,你不需要寫'justOne:true'。 '3.'。最重要的是在刪除對象之前,服務器中的'console.log',不管你的'id'是否正確傳遞。 –
我從來沒有見過Meteor使用的'justOne'參數。它沒有出現在文檔中。正如@FaysalAhmed所說,無論如何你都不需要它。 –