我有一个数据模型,其中包含另一个数据模型的ObjectID数组。
var ProductSchema = new Schema({
images: {
type: [{
type: Schema.ObjectId,
ref: 'Image'
}],
default: []
},
});
当我查询Products
并填充Image
条记录时,如何检测某些图像记录何时被删除?
答案 0 :(得分:0)
我猜你的意思是你的阵列中的某些图像可能已经删除了它的对象,所以你要检查它。你可以做的是在保存钩子中检查这个,如下所示:
ProductSchema
.pre('save', function(next) {
var Image = mongoose('Image');
this.images.forEach(function(image) {
Image.objects.findById(image, function(err, image) {
if (!image) {
// This would mean the object has been removed so
// the saved id is missing a reference...
...
}
})
})
next();
});