微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB geoSpatial 排序位置列表

如何解决MongoDB geoSpatial 排序位置列表

我正在使用 Spring Data MongoDB 创建一个虚拟项目。我的项目是一组对学校数据执行 CRUD 操作的 RESTful API。以下是功能要求:

  1. 应该能够 CRUD 学校数据。
  2. 应该能够根据提供的纬度/经度搜索附近的学校。
  3. 如果学校有 1 个以上的分支,学校文件可以有多个位置。

以下是简单的 JSON 结构:

{
    "name": "lovely Public School","affiliation": "CBSE","location": [
        {
            "geoLocation": [
                87.1025,31.7041
            ]
        },{
            "geoLocation": [
                81.1025,35.7041
            ]
        },{
            "geoLocation": [
                89.1025,32.7041
            ]
        }
    ]
}

在这个架构中面临的问题是我无法找到一种方法来对位置列表执行地理空间查询,MongoDB 是否存在这样的东西? 我也尝试了一种解决方法,如下所示:

  1. 将位置保存在单独的集合中,并将位置的@DBRef 提供给学校。 :我用这种方法面临的问题是,对位置集合的第一个查询工作正常,并以距离排序的方式获取所有位置,但是我使用 $in 运算符触发的第二个查询没有保持位置的顺序。

如何修正我的架构以获得所需的功能

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。