The 'cursor' option is required, except for aggregate with the explain argument 错误处理

背景:

最近开始做mongoDB,公司原有的mysql数据库需要在短期内转库为mongoDB,在重构代码过程中,旧有的一些业务逻辑就需要改动了。比较棘手的,就是地理位置数据做排序,这一点上,我打算用mongoDB的geoNear经纬度查询功能来实现。

 

经过:

在mongoDB中,我写了一段nosql,可以按输入的定点位置以经纬度排序:

db.getCollection("projectInternalUseData").aggregate({
    $geoNear: {
        near: [100.0, 50.0],
        distanceField: "calculated",
        spherical: true
   }
})

上诉代码能正常运行,需要几个条件:

1. projectInternalUseData集合必须有一个 2d 经纬索引

2.该索引的字段,必须存放一个数组作为坐标:[ x , y ]

建立索引语句如下:

db.getCollection("projectInternalUseData").createIndex({ "trueCoordinates" , "2dsphere" });

旧版本(3.4以下)是用 ensureIndex 函数的

 

经过上述测试,nosql查询无误,数据没问题,下一步,在java中实现查询࿰

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值