空間インデックスを使用してドキュメントをクエリしようとしています。
ドキュメントによると、私のモデルは次のようになります。
class Trip
include Mongoid::Document
field :addresses, :type => Array
index({"addresses.loc" => "2d"}, {:min => -180, :max => 180})
end
Addessesはこのように保存されます
Trip.first.addresses
=> [{"context"=>"from", "loc"=>[-71.55234, -33.024527]}, {"context"=>"to", "loc"=>[-70.641997, -33.4691199]}]
このクエリを使用して、address.locとaddress.contextに一致するドキュメントをクエリしたいと思います。
Trip.where("addresses.loc" => {"$nearSphere" => [-70.641997, -33.4691199], "$maxDistance" => 0.005052092295133236}).where("addresses.context" => "to")
クエリは適切な値を返しますが、「address.context」を無視しているようです。私はそれを適切な方法でやっていますか?
ありがとう !