求解mongoose的批量删除
发布于 5个月前 作者 fangsini 392 次浏览 来自 问答

如题,目前已知用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 应该怎么办?

6 回复

用个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);
回到顶部