У меня сложная структура, похожая на:
{
type: "Data",
data: [
"item1": {...},
"item2": {...},
...
"itemN": {
"otherStructure": {
"testData": [
{
"values": {...}
},
{
"values": {
"importantKey": ObjectId("23a2345gf651")
}
}
]
}
}
]
}
Для такого рода структуры данных я хочу обновить тип данных для всех этих importantKeys
из ObjectId в строку.
I пробовал запросы, похожие на:
db.collection.updateMany(
{type:"Data"},
{$toString: "data.$[element].otherStructure.testData.$[element].values.importantKey"},
{"data.element.otherStructure.testData.element.values.importantKey": {$type: "objectId"}})
Но все эти попытки не увенчались успехом.
Итак, есть ли адекватные решения для обновления таких данных?
ОБНОВЛЕНИЕ Извините за путаницу, моя структура более сложна:
data.content.$[element].otherStructure.testData.keys.$[element].values.$[element].meta.importantKey
Все эти $[element]
элементы означают объекты со списком элементов.