ruby-on-rails - Mongoid "no geo index :("错误

标签 ruby-on-rails mongodb mongoid ruby-on-rails-4

重现步骤:

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

已经运行 rake db:mongoid:create_indexes

尝试调用:

Venue.geo_near([@lat, @long])

得到:

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 :("

有什么建议吗?

最佳答案

愚蠢的错误,忘记为 RSpec 使用 RAILS_ENV=test 进行 rake db:mongoid:create_indexes

完整的命令

bundle exec rake db:mongoid:create_indexes RAILS_ENV=test

关于ruby-on-rails - Mongoid "no geo index :("错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17644153/

相关文章:

python - MongoDB 查找每个用户的最后一次提交

ruby-on-rails - 带有位置运算符的 Mongoid 更新不起作用

ruby-on-rails - libmysqlclient.so.15 : cannot open shared object file: No such file or directory

ruby-on-rails - counter_cache 与 has_many :through

java - NoSQL 无模式数据和静态类型语言

node.js - 在 Hapijs 中我应该遵循什么文件夹结构?

ruby-on-rails - Searchkick/Rails 使用 Mongoid 的工作示例

ruby-on-rails - Rails - Mongoid : newly added fields in model giving nil for old data objects

ruby-on-rails - 发送查询字符串参数作为表单发布的一部分

ruby-on-rails - Nginx:欢迎使用 Nginx!页面一直显示