簡體   English   中英

MongoDB $ maxDistance正在工作,但$ minDistance無法工作

[英]MongoDB $maxDistance is working but $minDistance will not

我正在嘗試從我的集合中查找數據,並根據帖子創建時的位置(loc :),以距geoJSON點最近至最遠的順序顯示。

我已經進入mongo控制台並跑了

db.my-collection.createIndex( { loc : "2dsphere" } )

為了確保它們被索引為2dsphere。

現在,每當我使用我的find命令以上述順序列出帖子時,只有$ maxDistance起作用,而$ minDistance對它們的排序完全沒有影響。 這是代碼:

return posts.find({
        loc:
             { $near :
                    {
                        $geometry:{ type:"Point", coordinates:[ lng, lat]},
                        $maxDistance: maxDistance,
                        $minDistance: minDistance
                    }
             },
        });

}

我相信我已經按照mongoDB( http://docs.mongodb.org/manual/reference/operator/query/near/ )所述完成了所有工作,但看來我缺少了一些東西。

為了使$ minDistance和$ maxDistance都能正常工作,我必須在代碼中添加以下行:

Collection._ensureIndex({'loc':'2dsphere'});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM