之間的所有未定義的屬性我有以下電話:Meteor.call刪除客戶端和服務器
Meteor.call('updateDoc', id, obj);
與updateDoc定義爲:
Meteor.methods({
updateDoc(id, doc) {
MyCollection.update(id, {$set: doc});
}
});
所有與obj是
{
param1: undefined,
param2: 'defined!'
}
調用它
doc收到的結果爲
{
param2: 'defined!'
}
這意味着在調用和方法觸發之間的某個地方,流星「清除」了未定義的屬性。
我懷疑他們正在使用JSON.stringify,這就是爲什麼undefined被刪除。
除了使用null而不是undefined(它的工作原理),有沒有辦法強制流星傳遞undefined?作爲一個方面說明,更新客戶端的集合也會導致「丟失」未定義的屬性,即在客戶端執行此更新實際上只會更新param2,並忽略param1,因此如果param1具有先前的值它會保持不變(而不是作爲取消設置爲蒙戈2.4以後做)
,而不是不確定的,如果你不想使用*空*,你可以使用空字符串*「」* –
你可以發佈你的插入方法讓我們看到DB中的文檔結構嗎?編輯你的代碼會更容易,然後 – Luna