Node.js 更改mongodb remove函数的返回(回调)结果

Node.js 更改mongodb remove函数的返回(回调)结果,node.js,mongodb,callback,return-value,Node.js,Mongodb,Callback,Return Value,我正在做一个房间预订项目。本质上有用户,也有预订。一个用户可以拥有一个预订,一个预订也可以由一个用户拥有 当我删除预订时,我还需要更新用户对象中的引用 apiRouter.route('/bookings/:id') .delete(function(req, res){ Booking.remove({_id: req.params.id}, function(err, user) { if (err) res.send(err);

我正在做一个房间预订项目。本质上有用户,也有预订。一个用户可以拥有一个预订,一个预订也可以由一个用户拥有

当我删除预订时,我还需要更新用户对象中的引用

apiRouter.route('/bookings/:id')
    .delete(function(req, res){
        Booking.remove({_id: req.params.id}, function(err, user) {
            if (err) res.send(err);

            // Do stuff ... then return a message
            res.json({ message: 'The booking was thrown towards a singularity.'});
        });
    }
);
如您所见,我希望回调根据我的模式为我提供与booking对象一起存储的user对象:

var BookingSchema = new Schema({
    user: {type : mongoose.Schema.ObjectId, ref : 'User' , required: true},
    room: {type : mongoose.Schema.ObjectId, ref : 'Room' , required: true},
    equipment: [{type : mongoose.Schema.ObjectId, ref : 'Equipment' }],
    startDate: {type: Date, required: true},
    endDate:  {type: Date, required: true}
});
根据mongodb文档,版本2.6+返回一个
WriteResult

成功结果

remove()
返回包含操作状态的
WriteResult
对象。成功后,
WriteResult
对象包含有关删除的文档数量的信息:

WriteResult({“nRemoved”:4})

因此,现在在回调中的
user
变量中,我通过调用
.remove()
获得了被删除的文档数。我是否可以仅在删除
booking
对象时覆盖此行为?否则,我可以在删除之前将
用户.\u id
保存到作用域,并执行另一个查询以获取用户对象。只是好奇这是否可能。谢谢