@hax
junior developer

Как исключить поля структуры для апдейта в MongoDB, используя go mongo-driver?

Привет. У меня есть веб-сервис, написанный на 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,
}}


Есть ли другой вариант, как указать только те поля, которые я хочу обновить?
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
@darst
Можно. Прочтите и посмотрите примеры в документации
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы