Meteor.call删除客户端和服务器
问题描述:
之间的所有未定义的属性我有以下电话: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以后做)
答
尝试改变MyCollection.update(id, {$set: doc});
这样
MyCollection.update(id, {
$set: {docYouWantToChange: doc}
});
+0
不知道我明白什么会进入docYouWantToChange – TheZuck
,而不是不确定的,如果你不想使用*空*,你可以使用空字符串*“”* –
你可以发布你的插入方法让我们看到DB中的文档结构吗?编辑你的代码会更容易,然后 – Luna