Пн go БД позволяет использовать агрегационные конвейеры в операциях обновления. https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Я бы хотел добиться этого, используя драйвер Kotlin / Java. В текущей ситуации я хотел бы изменить свойство даты в документе на строку. Не уверен, что это возможно, я не вижу никакой документации для этого в Java Driver do c (из c приведенный ниже код не работает, это всего лишь черновик):
fun changeProductLaunchDate(db: MongoDatabase) {
db.getCollection("productLine").updateMany(
and(
ne("products", null),
or(
type("products.launchDate", BsonType.DATE_TIME),
)
),
set(
"products.launchDate", Document(
"$dateToString", mapOf(
"date" to "\$products.launchDate",
"format" to "%d-%m-%Y",
"timezone" to "GMT",
"onNull" to null
)
)
)
)
}
Кто-нибудь имел опыт с этим? Любые предложения будут полезны.