【问题标题】:METEOR.JS update: function (userId, doc, fields, modifier)METEOR.JS 更新:函数(用户 ID、文档、字段、修饰符)
【发布时间】:2015-05-08 03:16:29
【问题描述】:

我正在尝试理解 Meteor 的允许拒绝规则中传递给此函数的参数: 更新:函数(userId、doc、字段、修饰符)

我有一本书说: userId:执行该更新操作的当前登录用户的用户 ID doc:来自数据库的文档,没有建议的更改 fields:具有将更新的字段参数的数组 modifier:用户传递给更新函数的修饰符,如{$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;
},

但是对于文档和修饰符,我只是将一个 [object Object] 记录到控制台。

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

2.) 它说 doc 是数据库中的文档,在我的数据库中我有“title”字段...但是当我执行 console.log(doc.title) 时,我得到了 undefined ....so我应该如何正确使用 doc ???这个更新方法里面有什么用?

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

非常感谢...

【问题讨论】:

  • 不要尝试将其添加到字符串中,console.log(fields) 会显示整个对象,而不仅仅是名称[object Object]

标签: meteor


【解决方案1】:

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

console.log(doc);

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

而不是

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    相关资源
    最近更新 更多