Meteor.call删除客户端和服务器之间的所有未定义属性

时间:2016-04-21 10:58:17

标签: 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!'
}

意味着在调用和方法触发器之间的某处,Meteor“清理”了未定义的属性。

我怀疑他们一直在使用JSON.stringify,这就是删除undefined的原因。

除了使用null而不是undefined(有效)之外,有没有办法强制meteor传递未定义?

作为旁注,在客户端更新集合也会“丢失”未定义的属性,即在客户端进行此更新实际上只会更新param2,并忽略param1,以便如果param1具有以前的值将保持完整(而不是像Mongo 2.4一样未被设置)

1 个答案:

答案 0 :(得分:0)

尝试更改for (i=1; i<n; i++) { SDL_RenderDrawLine(ren, x[i-1], y[i-1], x[i], y[i]); 这样的

MyCollection.update(id, {$set: doc});