Firebase Firestore добавить данные без перезаписи
Я пытаюсь добавить данные в свою базу данных пожарного депо. Пожарная часть это:
Firestore db
У меня есть мой PHP-файл, который загружает данные в него с этим кодом db.collection('events').doc('documentNameUsingUniqueEventID').set({id1:data1, id2:data2, id3:data3, ...});
но когда я загружаю новые данные, а старые все еще существуют, документы перезаписываются, и я теряю сделанные мной изменения. Есть ли способ добавить данные, избегая перезаписи существующих?
4 ответа
Метод set() в DocumentReference имеет второй параметр для SetOptions, который позволяет вам сказать, что вы хотите объединить данные в существующий документ, а не перезаписать его:
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, { merge: true });
Использование .add
в коллекции, чтобы добавить данные с автоматическим идентификатором.
использование .set
на документе, чтобы полностью перезаписать его.
использование .update
на документе, чтобы обновить его части.
Вы также написали participants
неправильно.
Теперь вы можете включить слияние в наборе SetOptions.merge()
например
db.collection('events')
.doc('documentNameUsingUniqueEventID')
.set(data, SetOptions.merge());
Я решил свою проблему, используя.update() и {merge: true}. Я не передаю участников и ageAverage в php, но создаю их, когда мне нужно загрузить данные