【问题标题】:How to retrieve document using geospatial query in Mongoose如何在 Mongoose 中使用地理空间查询检索文档
【发布时间】:2019-02-19 04:28:50
【问题描述】:

我正在尝试对 mongodb 集合使用 mongoose 地理空间查询。 “2dsphere”索引已应用于位置对象。

查询

请在下面找到查询:

const data = await Banks.find(
    {
        location: {
            $near: {
                $geometry: {
                    type: "Point",
                    coordinates: [73.8567, 18.5204]
                },
                $maxDistance: 10000000
            }
        }
    }
);

console.log('-- the data --', data);

数据

许多文档之一如下所示:

{
    "_id" : ObjectId("5c64511a04ede20c28f6ef0b"),
    "location" : {
        "coordinates" : [ 
            92.747338, 
            11.675442
        ],
        "type" : "Point"
    },
    "name" : "Test name",
}

我尝试过的

我已尝试将最大距离设置得尽可能大。但是查询不会检索任何文档。 可能是什么问题?

【问题讨论】:

  • 尝试在数据库中lat long 上的交换位置。指定经纬度坐标,先列出经度再列出纬度。
  • 你可以在查询和数据库中看到它的经度和纬度。

标签: node.js mongodb mongoose geospatial mongodb-geospatial


【解决方案1】:

上面提到的查询工作正常。我指的是错误的模型名称(集合)。集合名称是银行,我一直指的是银行。模型名称在 MongoDB 中区分大小写。

【讨论】:

    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2015-05-25
    相关资源
    最近更新 更多