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_indexes了RAILS_ENV=test为RSpec 做耙
完成命令
bundle exec rake db:mongoid:create_indexes RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1419 次 |
| 最近记录: |