【发布时间】:2011-09-12 20:53:41
【问题描述】:
我想每小时更新大量文档。
这里是 相当简单的模型:
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,:ordered 和 :eta “可能”已经改变 我需要更新它们。
编辑: 库存清单只包含
:article_nr, :stock, :ordered, :eta
我解析成一个哈希
在 SQL 中,我会将 article_nr 外键到“stock”表,删除整个 stock 表,然后运行“collection.insert”或类似的东西
但这种方法似乎不适用于 mongoid。 有什么提示吗?我无法理解collection.update 并且更改 belongs_to 和 has_one 上的外键似乎不起作用 (试过了,但是 Article.first.stock 是 nil)
但是必须有一种比遍历 stocklist 哈希数组并执行更快的方法 像
Article.where( :article_nr => stocklist['article_nr']).update( stock: stocklist['stock'], eta: stocklist['eta'],orderd: stocklist['ordered'])
【问题讨论】:
标签: ruby-on-rails ruby mongodb mongoid