mongoose找到相同的id

时间:2018-01-26 09:53:17

标签: javascript node.js mongodb mongoose

我想得到所有数组元素的结果。但是,当此代码运行时,我只会为z[0]z[1]获得结果,因为z[1]=z[2]。 我需要找到相同的值。这是console.log结果:

[ { _id: 5a621aa0232c231a74736b48,
    ad: 'sefer',
    soyad: 'eken',
    nick: 'Lonelman',
    email: 'seferftsukran@mynet.com',
    parola: '8790033749e6304a93bfd4af4aa49aa721bcfe29cfff15e38c5a41ce75687c94',
    resim: 'animals.jpg',
    __v: 0,
    arkadaslar: [],
    begeni: [],
    date: 2018-01-19T16:19:44.120Z },
  { _id: 5a621b0f232c231a74736b49,
    ad: 'şükran',
    soyad: 'eken',
    nick: 'Şükonella',
    email: 'seferftsukran@gmail.com',
    parola: '8790033749e6304a93bfd4af4aa49aa721bcfe29cfff15e38c5a41ce75687c94',
    resim: 'avatar-1514321231238.jpg',
    __v: 0,
    arkadaslar: [],
    begeni: [],
    date: 2018-01-19T16:21:35.117Z
} ]



topics.findOne({topic:req.query.w},function(err,topic){
    comment.find({topicid:topic._id},function(err,comments){
    var z=[];
		for(var i=0;i<comments.length;i++){
	z.push(comments[i].userid)
}	
user.find({_id:z},function(err,userphoto){
    });
  });
})
           
           
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

如果您的意思是在userId数组中查找用户,则可以使用$in

topics.findOne({topic:req.query.w},function(err,topic){
    comment.find({topicid:topic._id},function(err,comments){
        var z=[];
        for(var i=0;i<comments.length;i++){
           z.push(comments[i].userid)
        }   
        user.find({_id: { $in:z} },function(err,userphoto){
       });
    });
})

答案 1 :(得分:0)

我试试这个并且全部工作。我编辑了我的ejs文件。请等一下。

<% for(var i = 0;i<comment.length;i++){%>

	
<span><%- comment[i].usernick%></span>
<%for(var a= 0;a<img2.length;a++){if(img2[a].nick==comment[i].usernick){%>
<img  style="width:30px" src="uploads/<%-img2[a].resim%>"></img>
<%}}%>

<% } %>