Обновление массива карт Firestore показывает ошибку: Неподдерживаемое значение поля: не определено - PullRequest
0 голосов
/ 01 марта 2020

У меня есть документ в firestore, как показано ниже

enter image description here

что я хочу сделать, это обновить эти поля, время и этап, я попробовал их с обновлением и установить методы

db.collection("record").doc("user"+user).collection("datas").doc("roadmap").update({
  first:[{
  0:[ stage:"new stage",
    time:"new time,
    done:false
  }]
  }]
  })

и

db.collection("startups").doc("user"+user).collection("datas").doc("roadmap").update({
  first:{[ 
     stage:"new stage",
    time:"new time",
    done:false
  }]
  })

, но всегда выдает ошибку, такую ​​как: [! [FirebaseError: Function DocumentReference.set() called with invalid data. Unsupported field value: undefined]

1 Ответ

1 голос
/ 01 марта 2020

Следующее должно сделать трюк:

db.collection("record").doc("user"+user).collection("datas").doc("roadmap")
.update({ first: [{ stage: 'new stage', time: 'new time', done: false }] });

Это будет работать, потому что ваш массив имеет только один элемент (карту).

Обратите внимание, что если вы хотите изменить один указанный c элемент массива с несколькими элементами, вам нужно будет сначала прочитать массив в своем внешнем интерфейсе, изменить массив, а затем записать обратно измененный массив в Firestore.


Даже если это не то, что вы ищете, стоит отметить методы arrayUnion() и arrayRemove(), подробнее см. здесь .

...