2016-04-28 10 views
0

私は400以上の基本データを含む単一のコレクションを持つmongodbデータベースを持っています。既存のMongodbデータベースにRailsアプリケーションを接続

私はRailsとmongoid gemを組み合わせて使用​​していますが、レールコンソールでモデルにクエリを実行するとエントリが見つかりません。

QuizQuestion.first 

は結果

私のモデルを生成しません:

class QuizQuestion 
    include Mongoid::Document 
    field :question, type: String 
    field :correctAnswer, type: String 
    field :wrongAnswers, type: Array, default: [] 
    field :category, type: String 
end 

私はデータベースのアドレスを指すようにmongoid.ymlの設定ファイルを設定しています。

これを正しく行う方法やどこが間違っているのか、誰にも分かりますか?

+0

コレクションの名前は何ですか? –

答えて

1

あなたは何の結果を参照しない理由:

1)データベースの設定が間違っているとあなたは同じMongoDBのインスタンス上の異なるデータベースを指している

2)クラス名の名前と一致していませんmongo内のコレクション。コンソール/ターミナルとタイプを開き:

mongo 

は、このように入力します。

show dbs 

これは、あなたが最初の部分で必要なDBSの名前です

use x 

xはdb名

show collections 

これはlコレクションの名前はありません。

あなたのコレクションの名前を持っていたら、あなたはあなたのモデルにこれを追加することができます。

store_in collection: "name_of_collection_as_in_mongo" 

したがって、あなたのモデルにこれを行うことができモンゴクライアントに示すように、あなたのコレクションの名前がquiz_questionた場合:Mongoの内

class QuizQuestion 
    include Mongoid::Document 
    store_in collection: "quiz_question" 
    field :question, type: String 
    field :correctAnswer, type: String 
    field :wrongAnswers, type: Array, default: [] 
    field :category, type: String 
end 

(あなたは正しいデータベース名を指している場合)は、すべてのレコードが表示されない理由は、最も可能性の高い原因QuizQuestionsようpluralisedコレクション名を等しくなるようにクラス名を期待しmongoidことです== quiz_questions

+0

ありがとうございます。問題は、私のデータベースのコレクション名が「生物学」と命名され、それを「quizQuestions」に変更したことでした。 – ConorB

関連する問題