1

Hello guys i've been trying to convert this code into modular firebase 9:

fb8: const userRef = db.collection('Users').doc();

to fb9: const userRef = doc(db, 'Users');

But i'm getting this error: FirebaseError: Invalid document reference. Document references must have an even number of segments, but Users has 1.

Please help!

Dharmaraj
  • 29,469
  • 5
  • 26
  • 55

1 Answers1

1

The doc() method is equivalent to .collection('users').doc('docID') where you need to specify the ID. If you are trying to add a document with random ID then you add use addDoc() with collection() as shown below:

const usersCol = collection(db, 'Users')

await addDoc(usersCol, {...data})

If you want the random ID before adding the document then you can try this:

const userRef = doc(collection(db, 'Users'));
console.log(userRef.id)

Document references must have an even number of segments, but Users has 1.

You can checkout this answer for explanation of doc() and collection():

Firestore: What's the pattern for adding new data in Web v9?

Dharmaraj
  • 29,469
  • 5
  • 26
  • 55