使用 meteror autoform 记录用户名

Recording username with meteror autoform

我正在使用 cfs:autoform 创建一个表单,以捕获在客户端提交的照片和标题,如下所示:

Photos = new Mongo.Collection("photos");
Photos.attachSchema(new SimpleSchema({
  userId:{
    type: String,
    autoValue:function(){return this.userId},

  },
  userName:{
      type: String,
      autoValue:function(){return Meteor.users.find({_id: this.userId}).username},
  },

  groupMembers: {
    type: String
  },
  comments: {
    type: String  
  },
  fileId: {
    type: String
  }
}));

我已经获得成功捕获并填写用户 ID 的代码,以及评论和上传的照片,但我似乎无法获得它来捕获用户名。

这很可能是因为您使用的是 find 而不是 findOne。由于 find returns 是游标而不是单个文档,因此您无法访问 username 值,因为它不是游标的 属性。如果将其更改为 findOne,它应该可以工作。

userName:{
      type: String,
      autoValue:function(){return Meteor.users.findOne({_id: this.userId}).username},
  }