2016-06-15 51 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"])以及可選的關鍵字列表選項。