gpt4 book ai didi

mongodb - 即使 GeoJSON 有效,也无法提取地理键

转载 作者:IT老高 更新时间:2023-10-28 13:10:44 25 4
gpt4 key购买 nike

我在 MongoDB 中有一个带有 2dsphere 索引的集合。我要保存的对象如下所示:

{
"type" : "Polygon",
"coordinates" : [
[
[
5.052617929724351,
52.64653192570052
],
[
5.051738165167465,
52.64765805672784
],
[
5.054162882116928,
52.64831549553909
],
[
5.054592035559312,
52.64780777138566
],
[
5.055364511755601,
52.64790541110375
],
[
5.056094072607651,
52.64688343792051
],
[
5.054237983969346,
52.64661654927096
],
[
5.052617929724351,
52.64653192570052
]
]
]
}

根据http://geojsonlint.com/这是完全有效的 GeoJSON。但是 MongoDB 表示它无法提取地理键,因为 GeoJSON 可能格式不正确。

谁能帮我找出错误?

这是我得到的 MongoDB 错误:

insertDocument :: caused by :: 16755 Can't extract geo keys from object, malformed geometry?

最佳答案

问题在于您没有提供 GeoJSON 将被分配到的顶级对象的名称。

您必须在“坐标”字段上创建了“2dsphere”索引。相反,您希望在将分配整个 GeoJSON 值的字段上创建它。

db.geo.createIndex({"location":"2dsphere"})
db.geo.insert({"location" : {
"type" : "Polygon",
"coordinates" : [
[ <list of your-coord-pairs> ]
]
}})
WriteResult({ "nInserted" : 1 })

关于mongodb - 即使 GeoJSON 有效,也无法提取地理键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com