2012-04-20 44 views
1

我正在嘗試首次配置和使用mongoid。我已經設置了mongoid.yml配置文件簡稱爲:Mongoid和集合

主機:本地主機

數據庫:表

和我的代碼:

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文件或代碼中指定它。什麼是正確的語法。任何人都可以將我指向正確的方向嗎?

Tx。

回答

2

根據Mongoid文檔,「Mongoid默認將文檔存儲在類名的複數形式的集合中,對於下面的Person類,文檔將存儲的集合將被命名爲」人「。 http://mongoid.org/docs/documents.html

文檔繼續說明Mongoid使用名爲ActiveSupport::Inflector#classify的方法來確定集合名稱,並提供有關如何自己指定複數的說明。

或者,您可以通過在類定義中包含「store_in」來指定類中的集合名稱。

class Data   
    include Mongoid::Document 
    store_in :test 

希望這會有所幫助!

+0

Marc。 Tx非常多! – user1311034 2012-04-21 03:45:44