В MongoDB v 4.2
или выше вы можете запустить конвейер агрегации в обновлениях. Таким образом, мы можем получить $ substr с заданным string
и объединить все эти подстроки и записать результат в то же поле, попробуйте запрос ниже:
db.collection.update( /** Instead of .update() you can use .updateMany() */
{},
[
{ $addFields :{ metrictimestamp :{ $toString : '$metrictimestamp' } } },
{
$addFields: {
metrictimestamp: {
$concat: [
{ $substr: ["$metrictimestamp", 0, 4] },
"/",
{ $substr: ["$metrictimestamp", 4, 2] },
"/",
{ $substr: ["$metrictimestamp", 6, 2] },
" ",
{ $substr: ["$metrictimestamp", 8, 2] },
":",
{ $substr: ["$metrictimestamp", 10, 2] },
":",
{ $substr: ["$metrictimestamp", 12, -1] },
],
},
},
},
],{ multi : true }
);