6
ben aşağıdaki gibi iki firavunfaresi şemaları var:Gelincik kompleks (zaman uyumsuz) virtuals
var playerSchema = new mongoose.Schema({
name: String,
team_id: mongoose.Schema.Types.ObjectId
});
Players = mongoose.model('Players', playerSchema);
var teamSchema = new mongoose.Schema({
name: String
});
Teams = mongoose.model('Teams', teamSchema);
ben de sanal oluşturulan takım almak istiyorsunuz Ekipleri sorgulandığında:
Teams.find({}, function(err, teams) {
JSON.stringify(teams); /* => [{
name: 'team-1',
squad: [{ name: 'player-1' } , ...]
}, ...] */
});
ama Ben bu sanal kullanarak elde edemiyorum, çünkü bir asy ihtiyacım var nc çağrı:
teamSchema.virtual('squad').get(function() {
Players.find({ team_id: this._id }, function(err, players) {
return players;
});
}); // => undefined
bu sonucu elde etmenin en iyi yolu nedir?
Teşekkürler!
teamSchema.methods.getSquad = function(callback) {
Players.find({ team_id: this._id }, callback);
});
ama şu anda bir REZİL hizmetinde örneğin Almak istediğim: – frx08
Sorgunuzda yaptığınız gibi işlem yapmanız gerektiğinde, sorgunuzda ['lean()'] (http://mongoosejs.com/docs/api.html#query_Query-lean) kullanın. 'teams.find(). lean(). exec (cb)' – JohnnyHK
Bugün daha iyi bir çözüm var mı? – Linial