【发布时间】:2012-09-06 13:23:31
【问题描述】:
我们目前正在从 MySQL 迁移到 MongoDB,我偶然发现了以下问题:
MyModel.destroy(params[model_ids]) # Remove many objects at once by passing an array of IDs
这适用于 ActiveRecord,但不适用于 MongoDB:我必须遍历 ID,找到它,然后在实例化对象上调用 delete 方法:
MyModel.find(params[model_ids]).each do |item|
item.destroy
end
这是正确的方法吗? Mongoid 不提供上述功能是否有特殊原因?
谢谢!
【问题讨论】:
-
旁注:你宁愿总是使用
destroy而不是delete -
你说得对,我刚刚纠正了它。更多信息见here。
-
这存在于 Mongoid v3 中:mongoid.org/en/mongoid/docs/querying.html#query_plus
-
所以你应该有可用的方法:)
-
Person不是Criteria,Person.where...(或任何范围)是一个
标签: ruby-on-rails activerecord mongoid