Mongoose Promises查询

时间:2017-01-30 11:53:25

标签: node.js mongodb mongoose promise

我正在使用mongoose和nodejs创建各种预订系统。有一个酒店列表,其中有许多可用的房间作为一个领域。在为客户创建新预订时,我想检查特定酒店的可用房间数量是否大于0,如果是,请将酒店的可用房间数量减少1来更新。

这是我的代码

- 酒店模型文件

var hotel: new mongoose.Schema{
name: String, 
availableRooms: {type: Number, default: 1}}

-Booking Model file

var booking: new mongoose.Schema{
userName: String,
hotelId: {type: Schema.Types.ObjectId, ref: 'hotel'}
}

这是预订房间的功能。

Hotel.findOneAndUpdate(
{ '_id': hotelId, 'availableRooms': { '$gt': 0 } },
{ '$inc': { 'availableRooms': -1 } }, 
function (err, hotel) {
    if (err) throw err;
    else if (hotel && hotel.availableRooms > 0) {
        booking.create(req.body, function(err, confirmedBooking){
            if (err) throw err;
            res.json(confirmedBooking);
        });
    }
}
);

使用Mongoose Promises可以更有效地完成此代码吗?如果是这样,代码会是什么样的?

0 个答案:

没有答案