NodeJS和MongoDB - ObjectId数组如何返回Objects

时间:2013-10-10 08:21:03

标签: javascript json node.js mongodb

我在一个集合中有一个ObjectId的引用数组。我想在json响应中返回与那些Ids链接的对象数据。

retrieveFromUser: function( req, res ) {
    var user_id =   req.params.user_id;
    User.findById( user_id, function( err, user ) {
        if( err ) {
            res.send( 404, "Unable to find user");
        } else {
            // This returns the array but I want the objects data
            return res.json( user.constructions );
        }
    });
}

我该怎么办?
非常感谢!

1 个答案:

答案 0 :(得分:2)

尝试使用populate()方法

retrieveFromUser: function( req, res ) {
 var user_id =   req.params.user_id;
    User.findOne({ _id: user_id }).populate('constructions').exec(function( err, user ) {
        if( err ) {
            res.send( 404, "Unable to find user");
        } else {
            // This returns the array but I want the objects data
            return res.json( user.constructions );
        }
    });
}