有没有办法检索从调用函数传入的对象的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** }}
);
});
答案 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;
}
});