在Mongoose中find一个子文档

我正在尝试findOne查询在Mongoose上的一个子文档,但我没有太多的运气…

我的模式看起来像这样:

var Team = mongoose.Schema({ teamName: String, teamURL: String, teamMembers: [{username: String, password: String, email: String, dateCreated: Date}], }); var Team = db.model('Team', Team); 

我只需要从我使用此查询的文档中find用户的电子邮件

 Team.findOne({'teamMembers.username': 'Bioshox'}, {'teamMembers.$': 1}, function (err, team) { if (team) { console.log(team[1].email); } }); 

任何帮助,将不胜感激!

您错过了您的对象的teamMembers级别,所以您的代码需要更改为如下所示:

 Team.findOne({'teamMembers.username': 'Bioshox'}, {'teamMembers.$': 1}, function (err, team) { if (team) { console.log(team.teamMembers[0].email); } } );