@Urukhayy

Возможно ли держать в Mongo 2 полу-одинаковых документа?

Мне требуется, чтобы в Mongo можно было держать 2 полу-одинаковых документа. И чтобы, когда первый документ обновлял общие поля, и во втором документе они тоже обновлялись.

То есть у документов есть уникальные поля (имя, _id), есть общие поля: группа, страна. Так вот. Один из вариантов: делать синхронизацию по группе. Она у обоих документов одинаковая и её никогда не нужно менять. И, если я захочу у обоих документов изменять страну, я просто обновляю по группе.

Пример:
// doc 1
{
   _id: ObjectId(), // уникальное
  gruop: "GROUP_1", // не уникальное, по этому полю будет синхронизация
  name: "NameOne", // уникальное, НЕ должно изменяться вместе
  country: "TEST" // не уникальное, ДОЛЖНО синхронизироваться со вторым документом
}


// doc 2
{
   _id: ObjectId(), // уникальное
  gruop: "GROUP_1", // не уникальное, по этому полю будет синхронизация
  name: "NameTWO", // уникальное, НЕ должно изменяться вместе
  country: "TEST" // не уникальное, ДОЛЖНО синхронизироваться с первым документом

}


Если я хочу обновить страну у всех документов, группа которых равна "GROUP_1", то пишу обычный update({group: "GROUP_1"}). Будет ли возможно так синхронизироваться? Или есть иные способы?
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ptolemy_master
@Ptolemy_master
Именно так это и обновляется.
https://docs.mongodb.com/manual/reference/method/d...
В параметре query вы задаете условие, по каким полям и как производится выборка, далее в параметре update - что и как модифицировать. Не забудьте, что если обновляете не все поля, то обновление надо делать через $set, иначе он удалит все остальные поля.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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