在另一个集合中存储引用会创建对象但不会创建字符串Meteor

时间:2015-09-28 17:59:56

标签: javascript mongodb meteor

我正在使用collectionFS为我的用户上传个人资料照片。我有两个集合,一个用于userData,另一个用于Images。我正在尝试将图像引用附加到其他集合中。但我得到的是对象而不是_id字符串。有什么指针吗?

Biye = new Meteor.Collection ('biye');

Images = new FS.Collection("images", {
  stores: [new FS.Store.GridFS("images")]
});
// .....................upload.............

Template.upload.events({
  'change #exampleInput':function(event, template){  
    var file = $('#exampleInput').get(0).files[0]; 
    newFile = new FS.File(file);
    newFile.metadata = {'ownerId':Biye.findOne({ObjectID:this._id})};
    Images.insert(newFile,function(err,result){
      if(!err){
        console.log(result._id);
       }
     });
   }
})
newFile.metadata = {'ownerId':Biye.findOne({ObjectID:this._id})};

此行返回整个对象。我想要一个字符串。

1 个答案:

答案 0 :(得分:0)

我能够使用

存储字符串
newFile.metadata = {'ownerId':Biye.findOne({ObjectID:this._id})._id};

结尾添加了._id
 newFile.metadata = {'ownerId':Biye.findOne({ObjectID:this._id})};