如何查询序列化数据轨道3

时间:2012-07-25 18:00:05

标签: ruby-on-rails ruby-on-rails-3

我有一个由db表支持的邮件模型。收件人是一个序列化数组,包含联系人ID#和原始电子邮件。我希望能够查询以获取发送给联系人的所有电子邮件。我如何进行find_by_recipients(包括contact.id)?

2 个答案:

答案 0 :(得分:0)

您无法真正查询序列化数据的内部。要么你应该找出一种不同的存储数据的方式,要么获取所有的记录并用Ruby以某种方式迭代它们(具体你如何做到这一点取决于你,根据你的风格)。 警告:如果记录很多,后者会非常慢。

答案 1 :(得分:0)

您有3个选项

  1. 重新构建数据,将序列化数据提取到新表/列
  2. 使用某些搜索引擎(可能是SOLR,使用sunspot_solr gem)索引您的数据
  3. 使用nosql解决方案,MongoDB与mongo_mapper / mongoid最好