METEOR.JS更新:function(userId,doc,fields,modifier)

时间:2015-03-06 13:45:22

标签: meteor

我正试图在Meteor的允许拒绝规则中理解传递给此函数的参数: 更新:功能(userId,doc,fields,modifier)

我有一本书说: userId:执行该更新操作的当前登录用户的用户标识 doc:来自数据库的文档,没有建议的更改 fields:具有将更新的字段参数的数组 修饰符:用户传递给更新函数的修饰符,例如{$ set:{'name.first':“Alice”},$ inc:{score:1}}

所以我试图更多地理解参数,所以我在方法中做了这个:

update: function(userId, doc, fields, modifier){
  //User must be an admin

  console.log('inside allow update');
  console.log('userId = ' + userId);
  console.log('doc = ' + doc);
  console.log(doc.title);
  console.log('fields = ' + fields);
  console.log(fields[0]);
  console.log(fields.length);
  console.log('modifier = ' + modifier);

  return Meteor.user().roles.admin;
},

但是对于doc和modifier,我只是将[object Object]记录到控制台。

所以我的问题是: 1.)什么是[object Object]?

2。)它说doc是来自数据库的文档,在我的数据库中我有'title'字段...但是当我做console.log(doc.title)时我得到了未定义....所以我怎么想正确使用doc ???它在此更新方法中使用了什么?

3.。)修改器对象如何...我想在这个更新方法中使用它?它有什么用?

非常感谢...

1 个答案:

答案 0 :(得分:0)

正如@Sindis所说,你应该避免将对象连接到字符串上......所以你可以做到

console.log(doc);

console.log("the doc is ", doc);

而不是

console.log("the doc is " + doc);