我在MongoDB中有一个集合,其中有一个名为"geometry"的字段,其中包含类似于以下格式的纬度和经度:
{
"abc":"xyz",
"geometry" : [
{
"lat" : 45.0,
"lng" : 25.0
},
{
"lat" : 46.0,
"lng" : 26.0
}
]
}
我希望将字段geometry转换为类似以下的内容,以符合GeoJSON格式要求:
{
"abc":"xyz",
"geometry": {
"type": "LineString",
"coordinates": [
[
25.0,
45.0
],
[
26.0,
46.0
]
]
}
}
这个操作基本上涉及到获取一个包含两个键值对的对象数组,然后仅选择值并将它们存储为数组的数组(顺序相反 - 因此“lng”的值首先出现)。 我的失败尝试: 我尝试使用聚合并尝试投影以下内容:
"geometry": {"type":"LineString", "coordinates":["$points.lng","$points.lat"] }
这给我带来了类似的结果:
"geometry": {
"type": "LineString",
"coordinates": [
[
25.0,
26.0
],
[
45.0,
46.0
]
]
}
我曾尝试逐条修改数据记录,但结果不一致。同时,我想避免逐条更改每个记录的结构。有没有一种高效的方法可以解决这个问题?
$project
中新的geometry
字段替换文档中的geometry
字段。当回答这个问题时,我也感到很惊讶。我也遇到了同样的情况。 - Ashh