Mongoid"没有地理索引:("错误

ste*_*del 5 ruby-on-rails mongodb mongoid ruby-on-rails-4

重现步骤:

class Venue
  field :coordinates, type: Array
  index({coordinates: '2d'}, {min: -180, max: 180})
end
Run Code Online (Sandbox Code Playgroud)

跑了rake db:mongoid:create_indexes

试着打电话:

Venue.geo_near([@lat, @long])
Run Code Online (Sandbox Code Playgroud)

得到了:

Moped::Errors::OperationFailure:
   The operation: #<Moped::Protocol::Command
     @length=135
     @request_id=3
     @response_to=0
     @op_code=2004
     @flags=[]
     @full_collection_name="encore_backend_test.$cmd"
     @skip=0
     @limit=-1
     @selector={:geoNear=>"venues", :near=>[43.670906, -79.393331], :query=>{}, :spherical=>true}
     @fields=nil>
   failed with error "no geo index :("
Run Code Online (Sandbox Code Playgroud)

有什么建议?

ste*_*del 14

愚蠢的错误,忘db:mongoid:create_indexesRAILS_ENV=test为RSpec 做耙

完成命令

bundle exec rake db:mongoid:create_indexes RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)