MongoDB的ObjectId用法
我正在使用MongoDB和Mongoose ODM为我的NodeJS REST项目:
我的模型模式是:
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?
谢谢!
你只是获取队员文件的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); });