У меня есть следующий документ в базе данных (Mongodb 4.2)
{
"_id": ObjectId(
"5e58dd49103bba2c961e7d80"
),
"launchProducts": {
"scheduledLaunchDate": {
"$date": "2020-02-03T23:00:00.000Z"
}
}
}
Я хотел бы обновить документ и преобразовать существующий объект даты в форматированную строку (дд-мм-гггг), используя следующие функции Mon go 4.2 https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Я выполняю следующий запрос в понедельник go Оболочка:
db.collection.updateMany({}, [{"$set": {"launchProducts.scheduledLaunchDate": {"$dateToString": {"date":"$launchProducts.scheduledLaunchDate","format":"%d-%m-%Y"}}}}])
К сожалению, я получаю следующую ошибку:
2020-02-28T11:07:50.375+0100 E QUERY [js] WriteError({
"index" : 0,
"code" : 16006,
"errmsg" : "can't convert from BSON type object to Date",
"op" : {
"q" : {
},
"u" : [
{
"$set" : {
"launchProducts.scheduledLaunchDate" : {
"$dateToString" : {
"date" : "$launchProducts.scheduledLaunchDate",
"format" : "%d-%m-%Y"
}
}
}
}
],
"multi" : true,
"upsert" : false
}
}
Дайте мне знать, если у вас есть идеи, как это исправить.