Home > Software engineering >  How do you add multiple documents at once to a collection in Firestore?
How do you add multiple documents at once to a collection in Firestore?

Time:05-13

I am somewhat new to Firebase and looking for the ability to write multiple JSON objects into a collection under random IDs in one operation. I am just using firestore and auth(not shown) along with react.

So far I have

Function TestDocs () {
    {addDoc(collection(db, 'randomData'),  {**object 1 example data**},{**object 2 more example data**}
   )
}

I have a button on a webpage which adds the data into the DB. When I check Firestore only the first object is loaded and not the second... on top of this, assuming that I wanted to add hundreds of objects(not just 2), how would I go about this?

I was looking through the documentation for Firestore batch writes but it only lists set(), update() and delete() as permitted operations so I am not sure how it would work. Thanks in advance

CodePudding user response:

You'll want to do this in two steps:

  1. Create a reference to a new document with a new unique ID:

    // Generate two new document references with a generated ids
    const newRef1 = doc(collection(db, "randomData"));
    const newRef2 = doc(collection(db, "randomData"));
    
  2. Write to that reference in your batch or transaction.

Also see:

  • Related