作者:伤恋ZY_162 | 来源:互联网 | 2023-05-22 13:52
$near
和之间有什么区别$within
?
db.geodata.find({ "loc" : { "$within" : { "$center" : [ [ 12.91365 , 77.59395] , 4]}}}).limit(10);
db.geodata.find({ "loc" : { "$near" : [ 12.91365 , 77.59395] , "$maxDistance" : 4}}).limit(10);
谁能详细解释一下?
1> wdberkeley..:
主要区别是
$near
根据距离点的距离进行排序; $geoWithin
使用GeoJSON坐标测试多边形或多边形中的包含,或者为二维坐标测量一组形状中的一个
$near
返回文档从最近到最远,任何其他顺序需要内存中排序; $geoWithin
可以与其他排序索引一起使用
$near
需要地理空间索引; $geoWithin
一个人表现得更好但不需要它
$near
分片群集不支持 - 您必须使用geonear
命令或$geoNear
聚合阶段
另请查看$ near和$ geoWithin的文档.