求解mongoose的批量删除
如题,目前已知用mongoose的单个删除:
// category
var schema = new Schema({
user_id: String,
name: String
});
// 删除
exports.deleteCate = function(req, res) {
categoryModel.remove({_id: req.body._id}, function(err) {
if(err) {
return res.json({err: err});
} else {
return res.json({msg: 'success'});
}
});
};
请问如果一些性删除多个 category 应该怎么办?
7 回复
用个aync将要删除的key放到一个数组里,之后遍历删除
@kenshinhu 你这样做不太好吧,要删几条就发几个请求。
楼主你还是要多看文档多思考
我也是用async遍历删除的。
var ids = new Array(…) model.remove({_id:{$in:ids}})
在这种需求下,为了照顾性能和数据安全,可以采取soft delete模式 没有batch delete但是咱有batch update啊
Model.update({ key: value }, { $set: { delete: true }}, { multi: true }, callback);
用async吧
@359056163 这个ids 是ObjectId的数组还是普通的数组???? 我都试过了,都没有什么效果