2016-06-15 55 views
1

我能外生2.0插入多条记录:更新多条记录外生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功能。任何关于如何去做这件事的指针?

回答

5

正如insert_all/3函数一样,函数也有update_all/3函数。 update_all/3需要Queryable(%MyApp.SomeModel{}或查询),更新的关键字列表([name: "John"])以及可选的关键字列表选项。