mongodbs 웹 사이트에 JSON 파일의 데이터가있는 샘플 DB를 만들었습니다 다음 명령을 사용하여 가져 왔습니다. mongoimport --db test --collection zips --file zips.json 데이터가 처리되는 중입니다. 콘솔에서 데이터를 검색하려고 시도하면 데이터가 표시됩니다.Ruby on Rails + MongoDB 및 MongoID
제 문제는 제가 레일즈 앱과 함께 DB를 사용하려고 할 때입니다. Class, City를 만들었습니다. 코드는 다음과 같습니다. 이
development:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: exjobb
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- localhost:27017
options:
options:
test:
sessions:
default:
database: exjobb
hosts:
- localhost:27017
options:
consistency: :strong
# In the test environment we lower the retries and retry interval to
# low amounts for fast failures.
max_retries: 1
retry_interval: 0
액티브가 비활성화처럼
class City
include Mongoid::Document
field :c, as: :city, type: String
field :l, as: :loc, type: Array
field :p, as: :population, type: Integer
field :s, as: :state, type: String
field :_id, type: Integer
end
는 그리고 내 mongoid.yml 파일을 찾습니다. 내가 레일을 시작하고 City.where를 시도 할 때 ... 나는 다음과 같은 결과를 얻는다. 내가 City.first을 시도하는 경우
City.where(city: "Acmar")
=> #<Mongoid::Criteria
selector: {"c"=>"Acmar"}
options: {}
class: City
embedded: false>
는 그리고 오류가 메신저 붙어, 복제 및 도와 시도 해주세요
NoMethodError: undefined method `to_sym' for nil:NilClass
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:409:in `__evaluate__'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:357:in `__database_name__'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:198:in `database_name'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:429:in `current_database_name'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:228:in `mongo_session'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/sessions.rb:171:in `collection'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual/mongo.rb:256:in `initialize'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual.rb:48:in `new'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual.rb:48:in `create_context'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual.rb:31:in `context'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual.rb:21:in `rescue in first'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/contextual.rb:19:in `first'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/mongoid-3.1.2/lib/mongoid/finders.rb:117:in `first'
from (irb):1
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/railties-3.2.11/lib/rails/commands/console.rb:8:in `start'
from /Users/admin/.rvm/gems/ruby-1.9.3-p374/gems/railties- 3.2.11/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
내 코드 here을 업로드 한
을 발생합니다. 보시다시피 db가 비어 있지 않습니다. http://i.stack.imgur.com/Bho2H.png
왜 store_in을 사용하십니까? – gmaliar
오, 내가 그것을 제거했습니다, 그것은 튜토리얼에서였습니다. 지금 나는 대답으로 "무"를 얻는다. 하지만 데이터베이스에 데이터가 있음을 알았습니다. 문고 콘솔을 사용할 때 작동합니다 ... – JOSEFtw
City.count 및 City.all.to_a를 실행하고 결과를 붙여 넣습니다. – gmaliar