2012-02-17 11 views
2

私はRailsとmongodbに小さな問題があります。私は開発モードで優れた小さなアプリを持っています。プロダクションモードでも動作しますが、レールコンソールに入ると何も表示されません。Railsコンソールとmongodb

[email protected]:/var/www/webapp% rails c RAILS_ENV="production" 
You did not specify how you would like Rails to report deprecation notices for your  RAILS_ENV=production environment, please set config.active_support.deprecation to :log, :notify or :stderr at config/environments/RAILS_ENV=production.rb 
Loading RAILS_ENV=production environment (Rails 3.2.1) 
1.9.3p0 :001 > User.all 
=> [] 

私の設定/初期化/ mongo.rbこの

MongoMapper.connection = Mongo::Connection.new('localhost', 27017) 
MongoMapper.database = "webapp-#{Rails.env}" 

if defined?(PhusionPassenger) 
    PhusionPassenger.on_event(:starting_worker_process) do |forked| 
    MongoMapper.connection.connect if forked 
end 
end 

のように見えるが、それはまた、空に見える

$ mongo localhost:27017/mail1up-production 
MongoDB shell version: 1.8.2 
Fri Feb 17 18:26:00 *** warning: spider monkey build without utf8 support. consider  rebuilding with utf8 support 
connecting to: localhost:27017/webapp-production 
> db.mycollection.stats() 
{ "errmsg" : "ns not found", "ok" : 0 } 
> 

私が何か間違ったことをやっていますか?なぜデータベース内のデータを見ることができないのですか?どうすればテストできますか?

+0

あなたが把握しまし問題? –

答えて

1

mmconsoleを実行する必要があるようです。

あなたはMongoMapperを含むirbに落とされ、データベースは 'mm-test'に設定されます。

状況によっては、mongo.rb初期化子が尊重されておらず、 "webapp - #{Rails.env}"ではなくmm-testデータベースに接続されている可能性があります。

私はそれがあなたのクエリ構文に関連するかもしれないと思うこの情報here

7

の一部を得ました。私はちょうど私が通常のActiveRecordクエリを使用しようとしたのと同じことに遭遇しました。私は私のORMとしてMongoDBとMongoDBを使用しています。

この他の質問、それはあまりにもMongoidを使用しているが、あなたに関連している: mongoid-finders-not-working

私は「すべて」のクエリに対して次を使用して成功を収めて:

User.all.to_a

関連する問題