【发布时间】:2018-11-12 06:00:04
【问题描述】:
我想一次从 MongoDB 中删除几个元素。为此,我想在后端使用 deleteMany。但首先我需要将数组分配给 ids,然后构建一个查询,然后执行删除
app.delete('/tasks', function(req,res){
ids = [];
var myquery = { _id: { $in: ids } };
Model.collection.deleteMany(myquery, function(err, result) {
if (err) throw err;
if (result) {
res.json(result)
}
});
});
我的问题是我不知道如何将 ID 的 ids 数组从前端传递到后端。我尝试使用 requestParameters,但失败了...我也尝试了 RequestOptions,但它现在已被贬值...我想,我应该将所有 ID 添加为参数?我如何迭代槽 id 并将其添加到参数中?或者也许还有其他更好的方法?
deleteData(ids) {
//ids is array of IDs, which I would like to pass as requestOptions
return this.http.delete( this.api, requestOptions);
}
【问题讨论】:
-
您需要将
ids(可能已经是一个列表)设置为请求正文中的值。那么你的快递后端需要从req.body读取这些数据。假设您已经设置了 bodyParser 中间件,这应该很简单。如果您尚未设置,请在您的问题中说明。请问你为什么用Model.collection.deleteMany()而不是Model.deleteMany()打电话。您有真正的原因吗,或者这只是您从其他地方复制的一些代码? -
您认为提供的答案中是否有某些内容无法解决您的问题?如果是这样,那么请对答案发表评论,以澄清究竟需要解决哪些尚未解决的问题。如果它确实回答了您提出的问题,请注意Accept your Answers您提出的问题
标签: javascript node.js angular express mongoose