我正在使用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
}
}));
我已经获得了成功捕获和填写userId的代码,以及评论和上传的照片,但我似乎无法获取它来捕获用户名。
答案 0 :(得分:2)
这很可能是因为您使用的是find
而不是findOne
。由于find
返回游标而不是单个文档,因此您无法访问username
值,因为它不是游标的属性。如果您将其更改为findOne
,则应该有效。
userName:{
type: String,
autoValue:function(){return Meteor.users.findOne({_id: this.userId}).username},
}