Firebase Firestore добавить данные без перезаписи

Я пытаюсь добавить данные в свою базу данных пожарного депо. Пожарная часть это:

Firestore db

введите описание изображения здесь

У меня есть мой PHP-файл, который загружает данные в него с этим кодом db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});

но когда я загружаю новые данные, а старые все еще существуют, документы перезаписываются, и я теряю сделанные мной изменения. Есть ли способ добавить данные, избегая перезаписи существующих?

1

Решение

задавать() Метод в DocumentReference имеет второй параметр для SetOptions это позволяет вам сказать, что вы хотите объединить данные в существующий документ, а не перезаписать его:

db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, { merge: true });
5

Другие решения

использование .add на коллекция добавить данные с автоматическим идентификатором.

использование .set на документ полностью перезаписать это.

использование .update на документ обновить его части.

Вы также написали participants неправильно.

0

Я решил свою проблему, используя .update () и {merge: true}. Я не передаю участников и ageAverage в php, но создаю их, когда мне нужно загрузить данные

0

Теперь вы можете включить слияние в наборе SetOptions.merge() например

db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, SetOptions.merge());
0
По вопросам рекламы [email protected]