Im wanting to create a doc in Firebase Firestore with Javascript... That doesn't just have the automatic generated ID
return addDoc(collection(db, "users"), { bio: signupForm['signup-bio'].value });
This is how I'm coding it could someone please show me where or how to add a custom ID to to the doc?
Thanks
CodePudding user response:
In order to set custom document IDs in Firestore, you need to use the set
method instead of add
:
db.collection("users").doc("YOUR_ID").set({
bio: signupForm['signup-bio'].value
});
You can refer to the official documentation on how to Set a document which states that:
To create or overwrite a single document, use the set() method:
// Add a new document in collection "cities"
db.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
.then(() => {
console.log("Document successfully written!");
})
.catch((error) => {
console.error("Error writing document: ", error);
});
If the document does not exist, it will be created. If the document does exist, its contents will be overwritten with the newly provided data, unless you specify that the data should be merged into the existing document...
CodePudding user response:
Ok, I figured it out...
To create a custom ID for a new doc is as follows...
setDoc(doc(db, 'collection', 'ID'), { feild: value, feild: value });
or in my case as an example...
setDoc(doc(db, 'users', (cred.user.uid), { bio: signupForm['signup-bio'].value });
This creates a new doc (and the users collection if it doesn't exist already) with the ID being the current logged in users UserID and the data in the doc is the value from a signup form called 'signup-bio'