使用ecto 2.0更新多个记录

Vys*_*san 2 elixir ecto phoenix-framework

我可以在ecto 2.0中插入多个记录:

iex(1)> categories = [%{name: "stackoverflow", url: "stackoverflow.com"}]

iex(2)> App.Repo.insert_all App.Category, categories
Run Code Online (Sandbox Code Playgroud)

是否可以一次更新多个记录?

iex(1) > category = App.Repo.all(App.Category) |> hd

iex(2) > changeset = App.Category.changeset(category, %{name: "test"})

iex(3)> App.Repo.insert_all App.Category, [changeset]
Run Code Online (Sandbox Code Playgroud)

我有一个场景,我会在抓取外部页面后每天插入或更新类别.好像MultiEcto 2.0中有功能.关于如何解决这个问题的任何指示?

Cod*_*oll 5

就像有一个insert_all/3函数一样,还有一个update_all/3函数.update_all/3获取可%MyApp.SomeModel{}查询(或查询),更新的关键字列表([name: "John"])以及可选的关键字选项列表.