Node.js MongoDB对象ID用法
我正在将MongoDB与Mongoose-ODM一起用于我的nodejsrest项目: 我的模式是:Node.js MongoDB对象ID用法,node.js,mongodb,mongoose,objectid,Node.js,Mongodb,Mongoose,Objectid,我正在将MongoDB与Mongoose-ODM一起用于我的nodejsrest项目: 我的模式是: var playerSchema = new mongoose.Schema({ name: String, team: mongoose.Schema.Types.ObjectId }) ... { "_id": "511a6010e6ca7b0fe0af02ff", "name": "player-1", "team": "511a53e2e6ca7b151c0
var playerSchema = new mongoose.Schema({
name: String,
team: mongoose.Schema.Types.ObjectId
})
...
{
"_id": "511a6010e6ca7b0fe0af02ff",
"name": "player-1",
"team": "511a53e2e6ca7b151c09ce8d"
}
...
和服务器端:
app.post('/players', function(req, res) {
Players.find(function(err, players) {
res.json(players);
});
});
响应是:
var playerSchema = new mongoose.Schema({
name: String,
team: mongoose.Schema.Types.ObjectId
})
...
{
"_id": "511a6010e6ca7b0fe0af02ff",
"name": "player-1",
"team": "511a53e2e6ca7b151c09ce8d"
}
...
但我想要的是:
{
"_id": "511a6010e6ca7b0fe0af02ff",
"name": "player-1",
"team": {
_id: "511a53e2e6ca7b151c09ce8d"
name: "team-1"
}
}
我做错了什么?
或者我还没有真正理解ObjectId
谢谢 您只获取id为team document的玩家文档 因此,对于每一名球员,你也必须获得队医
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);
});
您仅获取id为team document的玩家文档 因此,对于每一名球员,你也必须获得队医
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);
});
你会想退房的。是的,谢谢,我失去了这一步!你会想退房的。是的,谢谢,我失去了这一步!