【问题标题】:How to import CSV files in Rails with mongoid without rigid model如何在没有刚性模型的情况下使用 mongoid 在 Rails 中导入 CSV 文件
【发布时间】:2015-06-18 18:30:03
【问题描述】:

我正在开发一个需要将测试结果导入 MongoDB 数据库的 Rails 4.2 应用程序。我使用 mongoid 作为映射器。我发现很少有关于 CSV 导入的文章,其中最有用的是 RailsCasts - Importing csv and excel #396。

我的问题是我的测试结果没有固定数量的列,数量会根据经验而变化,并且列的名称也会发生变化,因此它是并且将是动态的。只有很少的键/列会出现在所有文档/行中。

目前我只使用 mongoimport 并使用 mongo 控制台查询它,但我想将这些结果与其他相关数据联系起来,这些数据正在形成一个 Rails 应用程序。

如果有人用 Rails 模型和导入方法将我推向正确的方向,我将不胜感激。

【问题讨论】:

  • @RAJ 您提供的此链接与该主题无关,因为与 mongoid 甚至 MongoDB 无关
  • 当您使用 Rails 时,您无需担心您的数据库类型。你只需要指定带有句柄的适配器和休息映射器。

标签: ruby-on-rails csv ruby-on-rails-4 import mongoid


【解决方案1】:

我正在寻找的显然是Dynamic Attributes。我按照问题中提到的 RailsCast 并在我的 Result 模型中添加了一行,所以现在它开始如下:

class Result
include Mongoid::Document
include Mongoid::Attributes::Dynamic 

就是这样。它从 CSV 文件导入了我所有的结果,我可以从 rails 控制台查询它们。现在我只需要弄清楚如何在不知道某些属性可能被调用的情况下显示它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2010-12-19
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    相关资源
    最近更新 更多