Пакетное обновление монгоида

Я бы хотел обновлять большой набор документов ежечасно .

Вот довольно простая модель:

class Article
   include Mongoid::Document
   field :article_nr, :type => Integer
   field :vendor_nr, :type => Integer
   field :description, :type => String
   field :ean
   field :stock
   field :ordered
   field :eta

, поэтому каждый час я получаю новый список запасов, где: stock,: order и: eta "возможно" изменились , и мне нужно обновите их все.

Редактировать: список запасов содержит только

:article_nr, :stock, :ordered, :eta

, который я анализирую до хэша

В SQL я бы выбрал путь к внешнему ключу article_nr в таблице "акций", отбросив все акции table и запускает "collection.insert" или что-то подобное

Но этот подход, похоже, не работает с mongoid. Есть подсказки? Я не могу разобраться в collection.update , и изменение внешнего ключа на own_to и has_one, похоже, не работает (пробовал, но потом Article.first.stock был равен нулю)

Но должен быть более быстрый способ, чем перебор массива хэшей stocklist и выполнение чего-то вроде

Article.where( :article_nr => stocklist['article_nr']).update( stock: stocklist['stock'], eta: stocklist['eta'],orderd: stocklist['ordered'])
5
задан Serge M. 12 September 2011 в 21:59
поделиться