首页 > 解决方案 > 在 mongoosejs 中执行创建后使用结果填充数据

问题描述

我想在保存聊天数据后填充结果。我的聊天控制器代码:

exports.addChat = (req, res, next) => {
    Chat.create(req.body).then(result => {
      // Populate data with result like:
       //result.populate({path: 'sender', select: 'user_name full_name image_url' }).populate({path: 'receiver', select: 'user_name full_name image_url' })
       // .then(dt => {
       //
        //}).catch(e => {
        //    console.log(e);
      //  });
        res.status(200).json({
            message: 'message created',
            data: result
        });
    }).catch(err=> {
        if(!err.statusCode) {
            err.statusCode = 500;
        }
        next(err);
    });
};

聊天模式是:


const chatSchema = new Schema({
    sender: {
        type: Schema.Types.ObjectId,
        ref: 'profile',
        required: true
    },
    receiver: {
        type: Schema.Types.ObjectId,
        ref: 'profile',
        required: true
    },
    message: {
        type: String
    },
    expire_at: {type: Date, default: Date.now, index: { expires: '86400s' }} 
}, { timestamps: true });

顺便说一句,我填充数据以获取结果,但希望在保存后填充返回数据。

标签: node.jsmongodbmongoose-populate

解决方案


推荐阅读