Firestore: set() & add()

В чем разница между set() и add() в Firestore?

Я использую set() для добавления документов в мою коллекцию. Но я не могу использовать add() или понять add() из документов.

Ответ 1

Поскольку вы не указали, я предполагаю, что вы имеете в виду set() для DocumentReference и add() для CollectionReference.

Когда вы используете set() в DocumentReference, вы помещаете данные в документ, который вы уже идентифицировали по некоторому уникальному идентификатору. (В противном случае у вас уже не было бы объекта DocumentReference!) Как сказано в документации: "Если документ еще не существует, он будет создан". Если документ уже существует, вы заменяете или добавляете в него новые данные.

Когда вы используете add() в CollectionReference, вы безоговорочно создаете новый документ в коллекции, и этому новому документу будет присвоен уникальный идентификатор. Переданные вами данные станут содержимым нового документа.