我正试图在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.。)修改器对象如何...我想在这个更新方法中使用它?它有什么用?
非常感谢...
答案 0 :(得分:0)
正如@Sindis所说,你应该避免将对象连接到字符串上......所以你可以做到
console.log(doc);
或
console.log("the doc is ", doc);
而不是
console.log("the doc is " + doc);