作爲一個新手,我一直試圖讓我的rails應用程序中的geoNear命令工作,它似乎工作正常。對我來說主要的煩惱是它返回一個數組的字符串而不是鍵,我可以調用它來提取數據。是否有可能將Mongo GeoNear命令(使用Ruby/Rails)返回的數組轉換爲Plucky對象?
挖了一遍,我知道MongoMapper使用Plucky將查詢結果轉換爲友好的對象,可以很容易地處理,但我一直無法找到如何將我的geoNear查詢的結果轉換爲勇敢的對象。
我的問題是: (a)是否有可能將它變成一個刺耳的物體,我該怎麼做? (b)如果不可能,我怎樣才能最簡單和系統地提取每個記錄和每個字段?
這裏是查詢在我的控制器
@mult = 3963 * (3.14159265/180) # Scale to miles on earth
@results = @db.command({'geoNear' => "places", 'near'=> @search.coordinates , 'distanceMultiplier' => @mult, 'spherical' => true})
這裏是我恢復(爲了簡明,刪除文檔內容)
{"ns"=>"myapp-development.places", "near"=>"1001110101110101100100110001100010100010000010111010", "results"=>[{"dis"=>0.04356444023196527, "obj"=>{"_id"=>BSON::ObjectId('4ee6a7d210a81f05fe000001'),...}}], "stats"=>{"time"=>0, "btreelocs"=>0, "nscanned"=>1, "objectsLoaded"=>1, "avgDistance"=>0.04356444023196527, "maxDistance"=>0.00063}, "ok"=>1.0}
幫助是非常讚賞的對象!
我有現在同樣的問題,我還沒有解決但是,如果可以的話,我一定會提出答案。 – lashleigh
你可以發佈查詢的Ruby代碼以及結果嗎? –
對不起,延遲 - 現在附上代碼示例。謝謝 –