我一直在寻找这个好几个小时。每次我在模型上调用“near”方法时,都会出现以下错误:
2.0.0p247 :001 > Status.near(@coordinates, 10).to_a
Moped::Errors::QueryFailure: The operation: #<Moped::Protocol::Query
@length=157
@request_id=3
@response_to=0
@op_code=2004
@flags=[:slave_ok]
@full_collection_name="howsmycity_development.statuses"
@skip=0
@limit=0
@selector={"deleted_at"=>nil, "coordinates"=>{"$nearSphere"=>[74.3344609, 31.5130751], "$maxDistance"=>0.002526046147566618}}
@fields=nil>
failed with error 13038: "can't find any special indices: 2d (needs index), 2dsphere (needs index), for: { deleted_at: null, coordinates: { $nearSphere: [ 74.3344609, 31.5130751 ], $maxDistance: 0.002526046147566618 } }"
我已经尝试过运行:rake db:mongoid:create_indexes
使用 Ruby 2、Rails 4、Mongoid 4、MongoDB 2.4.4 和 Geocoder 1.1.8。顺便说一句,我也在使用 Mongoid-Paranoia Gem。我还尝试将所有 gem 指向他们的 github 存储库,但没有成功。我也在这里打开了一个问题。
任何帮助表示赞赏。