求解mongoose的批量删除
发布于 9 年前 作者 fangsini 7404 次浏览 最后一次编辑是 8 年前 来自 问答

如题,目前已知用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);

@359056163 这个ids 是ObjectId的数组还是普通的数组???? 我都试过了,都没有什么效果

回到顶部