1

我第一次尝试配置和使用 mongoid。我将 mongoid.yml 配置文件设置为:

主机:本地主机

数据库:表

和我的代码:

  Mongoid.load!("/mongoid.yml") 
  class Data        
    include Mongoid::Document
    field :study, type: String
    field :nbc_id, type: String
    field :short_title, type: String
    field :source, type: String
    field :start_date, type: Date
  end

  puts Data.study

我不断收到错误消息:

NoMethodError at / undefined method `study' for Data:Class

我认为这是因为我没有指定集合名称“测试”。但是,我找不到有关如何执行此操作的示例。我是在 .yml 文件中还是在代码中指定它。什么是正确的语法。谁能指出我正确的方向?

德克萨斯州。

4

1 回答 1

2

根据 Mongoid 文档,“默认情况下,Mongoid 将文档存储在一个集合中,该集合是类名的复数形式。对于下面的 Person 类,存储文档的集合将被命名为 people。” http://mongoid.org/docs/documents.html

文档继续说明 Mongoid 使用一种称为ActiveSupport::Inflector#classify确定集合名称的方法,并提供有关如何自己指定复数的说明。

或者,您可以通过在类定义中包含“store_in”来指定类中的集合名称。

class Data        
    include Mongoid::Document
    store_in :test

希望这可以帮助!

于 2012-04-20T22:00:42.810 回答