2016-10-25 6 views
2

Rails 3.2アプリケーションを実行するために新しいMacBookProを設定する際に問題があります。MongoDB Rails3.2データベースコマンド 'create'が失敗しました

  • のRails 3.2.12
  • のMongoDB 2.6.9
  • ルビー1.9.3

それは私の同僚

    のために働くので、私は、コードが動作することを知っているけれども
  • 同僚が使用してコレクションをエクスポートしたmongoexport
  • は、私は、エラーからmongorestore

でコレクションをロードし、モンゴはすべてのリクエストに応じて、コレクションを再作成しようとしているように見える...しかし、私は私がエクスポートされたコレクションを復元していることを知っています。ここ は誤りです:

Mongo::OperationFailure: Database command 'create' failed: (ok: '0.0'; errmsg: 'collection already exists'; code: '48'). 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongo-1.6.2/lib/mongo/db.rb:526:in `command' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongo-1.6.2/lib/mongo/db.rb:297:in `create_collection' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/collections/master.rb:41:in `initialize' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/collection.rb:127:in `new' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/collection.rb:127:in `master' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/collection.rb:42:in `find' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/contexts/mongo.rb:93:in `count' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/criteria.rb:45:in `count' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/mongoid-2.4.12/lib/mongoid/finders.rb:39:in `count' 
from (irb):1 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands/console.rb:47:in `start' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands/console.rb:8:in `start' 
from /usr/local/var/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.12/lib/rails/commands.rb:41:in `<top (required)>' 
from script/rails:6:in `require' 
from script/rails:6:in `<main>' 

私たちは、コレクションのサブセットを復元しようとしましたが、またのMongoDBサーバの新しいバージョンを実行しているしようとしています。いいえ、まだ運がありません。 私たちは困惑しています。どんな助けや提案も歓迎されます。

+0

を行うことができますか? –

+0

厳密なモードを有効にしているような音がします。 https://github.com/mongodb/mongo-ruby-driver/tree/1.6.2#strict-mode – crftr

答えて

1

Can't figure out why it's throwing this error

かなり明確なerrmsg: 'collection already exists'と言われています。コレクションが既に存在するかどうかチェックしましたか?また、アプリが起動するたびにコードがコレクションを作成しようとしているかどうかを確認しましたか?

あなたは、データベースに接続し、これはあなたに彼らが現在空であっても、それらに挿入された少なくとも1つの文書を持っていたコレクションが表示されます

db.getCollectionNames() 

を実行することができます。

あなたは彼らがあなたのアプリケーションを実行するために削除したい場合は、それも同じコードベースであなたのマシン上でのみ起こるん_同僚がエクスポート_

db.myColl.drop() 
+0

はい、コレクションは存在します。それは輸出から復元されました。毎回コレクションを再作成しようとしているようですが、私の同僚のためにこれをやっていないので、私はそのエラーコードを投げる構成に何が間違っているのかを調べようとしています。 – stubblsc

関連する問題