【发布时间】:2016-07-14 00:18:02
【问题描述】:
猫鼬 v4.4.7
我正在从另一个模型的控制器更新停车模型。 我想在该更新之前进行第二次更新,但它似乎不适用于 mongoose 钩子。
鉴于此查询...
// non Parking controller
Parking.update({_id: parked.parkingId}, {
$set: { 'availability.current': true }
});
我想做一些类似...
// Parking Model
ParkingsSchema.pre('update', function() {
var self = this;
if (self._update.$set['availability.current']) {
var id = self._conditions._id;
self.findOne()
.then(doc => {
self.update({}, {$set:{'availability.until': doc.ownerBackAt}})
})
.catch(logger.log);
}
});
self.update 似乎没有做任何事情 我将 console.log(this) 添加到预更新挂钩中,但它没有显示。
我做错了什么?
也许无法在更新前/更新后挂钩中查询文档?
【问题讨论】:
-
您使用的是什么猫鼬版本.. 更新挂钩仅在 4.x 之后支持
-
@NaeemShaikh mongoose v4.4.7