MongoDB c # Driver, обновить поле объекта данными из другого поля объекта - PullRequest
0 голосов
/ 20 мая 2019

Я использую следующие пакеты:

  • MongoDB.Driver - Версия = "2.7.2"
  • MongoDB.Driver.Core - Версия = "2.7.2"

Моя модель выглядит примерно так:

data: {
  field1 :"1"
},

history: [{
  field1 :"0"
}]

Теперь я хочу создать определение обновления, которое берет текущий объект в «data» и вставляет его в массив «history».

Я знаю, как это сделать с абсолютными значениями ..:

var updateDef = Builders<Entity>.Update.Push(x => x.History, historyObject);
updateDef = updateDef.Set(x => x.Data, newDataModel);

Проблема в том, что я хочу, чтобы «historyObject» автоматически получался из поля «data» текущего документа.

Есть идеи?

Текущий обходной путь

Чтобы обойти эту проблему, я вначале выбираю документ и использую поле данных из результата.

Проблема в том, что если данные тем временем изменятся, мы перезапишем их с помощью операции .Set, не передавая их в массив истории.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...