我有一个API可以查找表中的所有数据,但在该表中我有一个对象ID引用给用户。
表1 - 故事| 表2 - 用户
api.get('/all_stories', function(req, res) {
Story.find({}, function(err, stories) {
if (err) {
res.send(err);
return;
}
res.json(stories);
});
});
所以这个api显然检索了Story表中的所有数据并将其作为json返回。
creator: { type: Schema.Types.ObjectId, ref: 'User' },
content: String,
created: { type: Date, default: Date.now() }
如何使用参考:'用户'在User表中查找并显示其他数据列。 或许也可以这样把它当作json。
答案 0 :(得分:1)
您需要使用populate
来执行此操作:
http://mongoosejs.com/docs/2.8.x/docs/populate.html
Story
.find({})
.populate('creator')
.exec(function (err, stories) {
if (err) {
res.send(err);
return;
}
//stories now contains an array of Story, with their creator property populated with the user document
res.json(stories);
})
您似乎在使用与文档中的示例相同/非常相似的模型...