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