Если я правильно понимаю, ваши документы выглядят так:
[
{
"_id" : 123,
"latitude": -3.724404,
"longitude": -38.557694
},
{
"_id" : 456,
"latitude": -3.724404,
"longitude": -38.557694
}
]
Вы можете использовать этот запрос:
db.collection.updateMany({}, [
{
$set: {
points: [
{
latitude: "$latitude",
longitude: "$longitude"
}
]
}
},
{ $unset: ["longitude", "latitude"] }
]);
Чтобы получить что-то вроде этого:
[
{
"_id": 123,
"points": [
{
"latitude": -3.724404,
"longitude": -38.557694
}
]
},
{
"_id": 456,
"points": [
{
"latitude": -3.724404,
"longitude": -38.557694
}
]
}
]
Но зачем вам нужен points
в качестве массива, вместо этого это может быть такой объект:
"points": {
"latitude": -3.724404,
"longitude": -38.557694
}
Получить его почти с тем же запросом:
db.collection.updateMany({}, [
{
$set: {
points:
{
latitude: "$latitude",
longitude: "$longitude"
}
}
},
{ $unset: ["longitude", "latitude"] }
]);