1

NodeJS RESTプロジェクトにMongoose ODMMongoDBを使用しています。

私のモデルスキーマは次のとおりです。

var playerSchema = new mongoose.Schema({
    name: String,
    team: mongoose.Schema.Types.ObjectId
})

およびサーバー側:

app.post('/players', function(req, res) {
  Players.find(function(err, players) {
    res.json(players);
  });
});

応答は次のとおりです。

...
{
  "_id": "511a6010e6ca7b0fe0af02ff",
  "name": "player-1",
  "team": "511a53e2e6ca7b151c09ce8d"
}
...

しかし、私は次のようなものが欲しい:

{
  "_id": "511a6010e6ca7b0fe0af02ff",
  "name": "player-1",
  "team": {
    _id: "511a53e2e6ca7b151c09ce8d"
    name: "team-1"
  }
}

私が間違っていることは何ですか?または、ObjectId を本当に理解していませんか?

ありがとう!

4

1 に答える 1

1

チーム ドキュメントの ID を持つプレーヤー ドキュメントのみを取得しています。

したがって、各プレーヤーについて、チーム ドキュメントも取得する必要があります。

Players.find(function(err, players) {
   for(var i in players){
      Team.findById(players[i].team,function(error,teams){
          players[i].team = teams;
      })
   }
    res.json(players);
});
于 2013-02-14T07:39:41.780 に答える