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 (将#修改为@)