[MONGODB] 복잡한 (비동기) virtuals에를 몽구스
MONGODB복잡한 (비동기) 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);
언제 쿼리 팀 또한 가상 생성 된 팀을 얻을 것 :
Teams.find({}, function(err, teams) {
JSON.stringify(teams); /* => [{
name: 'team-1',
squad: [{ name: 'player-1' } , ...]
}, ...] */
});
내가 비동기 호출을 필요로하기 때문에하지만, virtuals에를 사용하여이 얻을 수 없습니다 :
teamSchema.virtual('squad').get(function() {
Players.find({ team_id: this._id }, function(err, players) {
return players;
});
}); // => undefined
이 결과를 달성하기 위해 가장 좋은 방법은 무엇입니까?
감사!
해결법
-
==============================
1.이것은 아마도 가장 호출자가 비동기 결과를받을 수있는 콜백을 제공 할 수 있도록 teamSchema에 추가 인스턴스 방법으로 처리됩니다
이것은 아마도 가장 호출자가 비동기 결과를받을 수있는 콜백을 제공 할 수 있도록 teamSchema에 추가 인스턴스 방법으로 처리됩니다
teamSchema.methods.getSquad = function(callback) { Players.find({ team_id: this._id }, callback); });
from https://stackoverflow.com/questions/14877134/mongoose-complex-async-virtuals by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 3.x를 드라이버 안드로이드 호환성 (0) | 2019.12.19 |
---|---|
[MONGODB] 몽고와 모든 문서에서 배열 발생을 계산 (0) | 2019.12.19 |
[MONGODB] 모음을 지정하지 않고 MongoDB의에서 문서를 가져 오기 (0) | 2019.12.19 |
[MONGODB] 몽고 통합 프레임 워크의 특정한 배열 요소로 그룹화 (0) | 2019.12.19 |
[MONGODB] 어떻게 MongoDB의 하나 제대로 증가 많은 날짜는 무엇입니까? (0) | 2019.12.19 |