我可以在ecto 2.0中插入多条记录:
iex(1)> categories = [%{name: "stackoverflow", url: "stackoverflow.com"}]
iex(2)> App.Repo.insert_all App.Category, categories
是否可以一次更新多条记录?
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]
我在抓取外部网页后每天都要插入或更新类别的情况。似乎Ecto 2.0中有Multi
功能。关于如何解决这个问题的任何指示?
答案 0 :(得分:5)
正如insert_all/3函数一样,还有一个update_all/3函数。 update_all/3
采用可查询(%MyApp.SomeModel{}
或查询),更新关键字列表([name: "John"]
)和可选的关键字选项列表。