Привет. У меня есть веб-сервис, написанный на Golang, который получает запрос от пользователя и обновляет данные в MongoDB. Для работы с MongoDB используется официальный mongo-driver. Никаких ORM и других подобных библиотек не используется.
У меня такой кейс: есть огромная стрктура с 30-ю полями различного типа. Пользователь присылает запрос, где указывает данные для всех 30-ти полей, но в операции апдейта мне нужно указать только 25 из них, а 5 полей не должно ни в коем случае обновиться.
Мне не хочется руками перечислять все 25 полей структуры, типа
filter := bson.D{}
update := bson.M{"$set: bson.M{
"field_1": obj.Field1,
"field_2": obj.Field2,
...
"field_25": obj.Field25,
}}
Есть ли другой вариант, как указать только те поля, которые я хочу обновить?