在MongoDB中查找具有相关objectId名称的所有内容

时间:2015-06-22 07:41:46

标签: javascript angularjs mongodb

我有一个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。

1 个答案:

答案 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);
})

您似乎在使用与文档中的示例相同/非常相似的模型...