检索从调用函数传递的对象的Id

时间:2014-10-03 13:45:13

标签: javascript object methods meteor

有没有办法检索从调用函数传入的对象的Id。我已经将对象插入到方法的集合中,所以这很好。但是,我还想检索此对象的Id并将其插入当前用户profile.postcreated字段。

我的通话功能:

Template.createpost.events({
'submit form#createpost': function(e, tmpl) {
e.preventDefault();
var insertpost = {
field: $( "#someId" ).val();
}
Meteor.call('insertPostData', insertpost);
} });

方法功能:

Meteor.methods({
'insertPostData': function(insertPostData){
  return AllPosts.insert(insertPostData);  //THIS WORKS FINE
  Meteor.users.update( { _id: Meteor.userId() }, { $addToSet: { 'profile.postcreated': **objectsId** }}
);
});

1 个答案:

答案 0 :(得分:2)

Collection.insert返回插入的对象_id,因此您只需将其存储在变量中供以后使用。

Meteor.methods({
  'insertPostData': function(insertPostData){
    var user=Meteor.users.findOne(this.userId);
    // assuming postcreated is something like ["POSTID"]
    if(user.profile.postcreated.length>=1){
      return;
    }
    var postId=AllPosts.insert(insertPostData);
    Meteor.users.update(this.userId,{
      $addToSet:{
        'profile.postcreated':postId
      }
    });
    return postId;
  }
});