使用 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},
}
我正在使用 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},
}