如何使用数组批量更新mongoDB。
我需要一次更新几十个文件。
我可以批量更新mongoid吗?
我尝试了以下方法,
但它没有用。
我收到此错误NoMethodError: undefined method
更新'对于#`
tickets = [100,000 items]
updated_flights = []
tickets.each do |tik|
@flight = Flight.find_or_create_by(id: id, from: tik.from, to: tik.to)
@flight = DO_SOMETHING
updated_flights << @flight
end
Flight.collection.update(updated_flights)
每个文档都有不同的值进行更新
我希望通过Flight.find_or_create_by ...
,
并更改其值然后推入数组。
最后一次更新对象数组。
答案 0 :(得分:0)
您可以在更新查询语句中使用multi关键字来更新多个文档。
示例:对于特定航班,出发时间已更改。所以你也希望在门票中更改它。你可以像这样使用:
tickets.update( { "id" : "flight_id_to_be_update" }, { "$set" : { "departureTime" : "16:00" } }, { "multi" : true } });