Firestore - объект не обновляется правильно - PullRequest
0 голосов
/ 04 июля 2019

У меня есть объект этой структуры:

{
  assignments: []
  faqs_url: "oi"
  id: "pW68CiGZJMZJzyY1GExz"
  name: "oi"
  notes: {
    file: {
      extension: "pdf", 
      type: "base64"
    }
    name: "o"
    url: "http://192.168.1.111:3000/notes/o.pdf"
  paper: "P1"
  past_topicals: []
  video_lectures: []
}

Теперь, когда я обновляю объект, вызывая set(obj, {merge: true});

, где

obj1 = {
  assignments: []
  faqs_url: "oi"
  id: "pW68CiGZJMZJzyY1GExz"
  name: "oi"
  notes: {
    name: "chnged name"
    url: "http://192.168.1.111:3000/notes/o.pdf"
  paper: "P1"
  past_topicals: []
  video_lectures: []
}

Что он делаетесть, он заменяет объект notes и удаляет ключ file из объекта, поскольку его нет в обновленном объекте.

У меня вопрос, не работает ли merge: true; для вложенных объектов?

Есть ли способ заставить его работать?

1 Ответ

0 голосов
/ 04 июля 2019

Слияние / обновление не работает так, как вы описали. Вам придется прочитать содержимое документа, изменить значение поля в памяти и записать его обратно в документ.

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