mongoose使用查询

我想了解,我可以使用querys虚拟?

例如,如果我有这2个模式。

var userSchema = new mongoose.Schema( { id: String, username: String, address: String, } ) var gameSchema= new mongoose.Schema( { players: [String], winners: [String], losers: [String] } ) var User = db.model('User', userSchema); var Game = db.model('Game', gameSchema); 

对于每场比赛我只保存ID-S。

我想这样做虚拟

 gameSchema.virtual("playersInfo").get( function() { var playersInfo = []; async.each(this.players, function(player, done) { User.findOne({_id: this.players[i]}, function(err, user)) { if(err) done(err); playersInfo.push(user.toObject({virtuals: true})); done(); } }, function(err) { if(err) return false; }) } ) 

我知道我的虚拟调用是同步的,我想知道,我可以使用这样的东西吗? 例如

 var game = Game.findOne({_id: someId}, function(err, game) { var g = game.toObject({virtuals: true}); console.log(g.usersInfo); })