3

我正在尝试插入登录用户的用户名,但每当我提交表单时。集合永远不会被插入。只有当我注释掉 createdBy 字段时,它才会被插入。我目前正在使用包用户帐户作为我的登录/登录程序

这是我的代码:

createdBy: {
    type: String,
    autoValue: function() { 
        return this.field('username'); 
    }
},
createdAt: {
    type: Date,
    autoValue: function() {
        return new Date();
    }
}
4

2 回答 2

4

没关系在这里解决它是我必须放下的。希望它可以帮助某人。

createdBy: {
        type: String,
        autoValue: function() {
            return Meteor.user().username
        }
    },
    createdAt: {
        type: Date,
        autoValue: function() {
            return new Date();
        }
    }
于 2015-10-12T14:54:58.607 回答
2

如果您正在collection2并行使用,您可以简单地执行以下操作以在服务器上适当地验证它。

createdBy: {
  type: String,
  denyUpdate: true,      // for a createdBy, shouldn't be able to update.
  autoValue: function () {
    if (this.isInsert) {
      return this.userId;
    }
  },
  allowedValues: function () {
    return Meteor.users.find((doc) => doc._id);
  }
}

(来自autoValue 文档

于 2015-10-12T15:57:36.143 回答