MongoDB 数据操作(八)聚合框架(7)$geoNear

本文介绍了如何在MongoDB中利用聚合框架的$geoNear命令进行地理坐标点的检索。首先,文章提到了进行地理信息检索前需要创建相应的索引。接着,展示了设置查询的具体步骤,强调了没有索引将无法执行地理信息检索。最后,预告了系列文章的下一部分将讨论$out操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:我的博客站 OceanicKang |《MongoDB 数据操作(八)聚合框架(7)$geoNear》

上一篇:《MongoDB 数据操作(八)聚合框架(6)$unwind》

使用 $geoNear 可以得到附近的坐标点

准备测试数据

> db.shop.insert({"loc": [10, 10]});
> db.shop.insert({"loc": [11, 10]});
> db.shop.insert({"loc": [10, 11]});
> db.shop.insert({"loc": [12, 15]});
> db.shop.insert({"loc": [16, 17]});
> db.shop.insert({"loc": [90, 90]});
> db.shop.insert({"loc": [120, 130]});

添加索引

> db.shop.createIndex({"loc": "2d"});

设置查询

> db.shop.aggregate([
      {"$geoNear": {
          "near": [11, 12],
          "distanceField": "loc",
          "maxDistance": 1,
          "num": 2,
          "spherical": true
      }}
  ]).pretty();

1.png

地理信息的检索必须存在有索引的支持

下一篇:《MongoDB 数据操作(八)聚合框架(8)$out》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值