2016-03-08 95 views
1

我试图搜索阵列以找到this._idstudentId returns正确的ID但是fav returnsObject {_id: "fMNS3M5dW356C46Sq", emails: Array[1], profile: Object, roles: Array[2]}在阵列中搜索特定值

我怎么var fav返回数组中的studentId或者如果ID没有找到返回null?

路径:基于您的评论list.js

Template.list.events({ 
'click .favourite':function(event,template) { 
     console.log('click'); 
     var studentId = this._id; 
     var fav = Meteor.users.findOne({"profile.favorites": studentId }); 

     console.log(fav); 

     if (candidateId === fav) { 
      Meteor.users.update({_id: Meteor.userId()}, {$pull:{"profile.favorites":studentId}}); 
     } else { 
      Meteor.users.update({_id: Meteor.userId()}, {$push:{"profile.favorites":studentId}}); 
     }; 
    } 
}); 
+0

如果findOne成功返回用户,是否要求等于studentId? –

+0

是的,如果findOne找到相同的userId,那么fav应该等于studentId – bp123

回答

1

,我想你想:

Template.list.events({ 
    'click .favourite':function(event,template) { 
    console.log('click'); 
    var studentId = this._id; 
    var fav = null; 

    if(Meteor.users.findOne({"profile.favorites": studentId })) { 
     fav = studentId; 
    } 
    if (candidateId === fav) { 
     Meteor.users.update({_id: Meteor.userId()}, {$pull:{"profile.favorites":studentId}}); 
    } else { 
     Meteor.users.update({_id: Meteor.userId()}, {$push:{"profile.favorites":studentId}}); 
    }; 
    } 
}); 

这将设置最爱是studentId如果有什么Meteor.users.findOne回报。

+0

是的宝贝!你是炸弹队友! – bp123