使用Ember Data删除多个记录(批量删除)的正确方法是什么?

时间:2017-02-06 23:50:44

标签: javascript ember.js ember-data

我所拥有的是记录ID列表,例如[1, 20, 20]

查询每个项目并删除它们似乎效率低下。

store.findRecord('post', 1).then(function(post) {
  post.deleteRecord();
  post.save(); // => DELETE to /posts/1
});

我想同时删除多条记录。使用Ember数据的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

主要问题是没有明确定义(或传统)的方式通过REST语义进行批量删除。典型的DELETE HTTP方法针对标识单个资源的URL。正如Ebrahim在评论中提到的那样,批量删除的后端服务可能是更好的方法。

成功完成批量请求后,下一个问题是从Ember数据存储中删除这些已删除的项目。一个简单(但效率低下)的解决方案是通过store.unloadAll(modelname)

从商店卸载模型的所有记录