Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点/Mongoose.populate()在创建POST和返回201后的模型_Javascript_Node.js_Mongodb_Mongoose_Promise - Fatal编程技术网

Javascript 节点/Mongoose.populate()在创建POST和返回201后的模型

Javascript 节点/Mongoose.populate()在创建POST和返回201后的模型,javascript,node.js,mongodb,mongoose,promise,Javascript,Node.js,Mongodb,Mongoose,Promise,使用一个发布帖子的典型示例,一切都像预期的那样工作,它正在将用户ObjectId保存在数据库中,等等 当它返回结果时,我似乎无法让它填充用户 在这里,我需要它重新填充并返回带有填充用户的完整Post模型 注意:在GET everything中,它可以填充用户,但由于某些原因,典型的.populate.execAsync在这里似乎不起作用 我在回执中遗漏了什么 这些模型没有什么特别之处,基本上只是: var PostsSchema = new Schema({ user : {

使用一个发布帖子的典型示例,一切都像预期的那样工作,它正在将用户ObjectId保存在数据库中,等等

当它返回结果时,我似乎无法让它填充用户

在这里,我需要它重新填充并返回带有填充用户的完整Post模型

注意:在GET everything中,它可以填充用户,但由于某些原因,典型的.populate.execAsync在这里似乎不起作用

我在回执中遗漏了什么

这些模型没有什么特别之处,基本上只是:

var PostsSchema = new Schema({
    user : {
        type: Schema.ObjectId, 
        ref: 'User'
    },
    message : String
});

var UserSchema = new Schema({
    name: String,
    // etc etc
});

execAsync不是应该返回一个承诺吗?出于某种原因,您在此处使用回调。下面的示例只是显示了.populate工作的另一个区域。如何在.createAsync.saveAsync区域内执行此操作@布雷克斯七号
function responseWithResult(res, statusCode) {
    statusCode = statusCode || 200;

    return function (entity) {
        if (entity) {
            // Here's where I've tried just about everything I can think of

            // entity.populate('user') (doesn't work)

            res.status(statusCode).json(entity);
        }
    };
}
Posts.find({ "team" : req.params.id})
    .populate({ path: 'user' })
    .execAsync(function (err, posts) {
        res.json(posts);
});
var PostsSchema = new Schema({
    user : {
        type: Schema.ObjectId, 
        ref: 'User'
    },
    message : String
});

var UserSchema = new Schema({
    name: String,
    // etc etc
});