Mongoose用$ in查找数组

Team.find({ '_id': { $in: [ teamIds ] } }, function(err, teamData) { console.log("teams name " + teamData); }); 

这个代码给了我们undefined回来..但在var teamIds是这样的:

 545646d5f5c1cce828982eb7, 545646d5f5c1cce828982eb8, 54564af5c9ddf61e2b56ad1e, 54564c1f1de201782bcdb623, 54564d2fc660a7e12be6c7a2, 54564df985495f142c638f9f, 54564eadb511f1792c9be138, 54564ec40cf6708a2cd01c81, 54564ee495f4aea22cf23728 

有人看到错误吗?

如果teamIds已经是一个数组,那么你不应该把它包装在另一个数组中,就像你一样:

 Team.find({ '_id': { $in: teamIds } }, function(err, teamData) { console.log("teams name " + teamData); }); 

或者,如果teamIds只是一串逗号分隔值,那么你需要使用split将其转换为数组:

 Team.find({ '_id': { $in: teamIds.split(',') } }, function(err, teamData) { console.log("teams name " + teamData); });