Javascript Meteor:insert上的过滤属性';行不通

Javascript Meteor:insert上的过滤属性';行不通,javascript,collections,meteor,Javascript,Collections,Meteor,我想筛选来自客户端但在创建新文档时不需要的属性。我尝试使用下划线的uz.pick(),但似乎无法覆盖doc 通过写入行中的doc doc = _(doc).pick(Entries.allowed); 您正在覆盖doc变量,使其不再指向实际的doc对象。您需要的是更改对象本身 您需要删除所有未列入白名单的文档属性。实施示例: insert: function(userId, doc) { var keys = _.keys(doc); keys = _.difference(keys,

我想筛选来自客户端但在创建新文档时不需要的属性。我尝试使用下划线的uz.pick(),但似乎无法覆盖doc


通过写入行中的
doc

doc = _(doc).pick(Entries.allowed);
您正在覆盖
doc
变量,使其不再指向实际的
doc
对象。您需要的是更改对象本身

您需要
删除
所有未列入白名单的
文档
属性。实施示例:

insert: function(userId, doc) {
  var keys = _.keys(doc);
  keys = _.difference(keys, Entries.allowed);
  _.each(keys, function(key) {
    delete doc[key];
  });
}
你可以让这类事情运作起来,但我建议你改用一种方法。这只是我的观点,但在allow回调中操纵文档似乎令人困惑。
insert: function(userId, doc) {
  var keys = _.keys(doc);
  keys = _.difference(keys, Entries.allowed);
  _.each(keys, function(key) {
    delete doc[key];
  });
}