'How to add Document with Custom ID to firestore in firestore 9
How to add a custom id to a firestore document instead of automatically generated id by firebase 9?
i've problem transforming this code into firebase 9 version -
db.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA" })
Solution 1:[1]
The example that you've provided seems to be from Firestore's documentation itself. Switch to (modular
) tab instead of (namespaced
) to see the same in V9 syntax.
The syntax for setting a document with custom ID using Modular SDK is follows (for the same example):
import { doc, setDoc } from "firebase/firestore";
await setDoc(doc(db, "cities", "LA"), {
name: "Los Angeles",
state: "CA",
country: "USA"
});
Solution 2:[2]
after researching a lot of time I got a solution for this by myself
Try this one.
So, the solution is:
FirebaseFirestore db = FirebaseFirestore.getInstance();
// [START set_document]
Map<String, Object> city = new HashMap<>();
city.put("batch", "25");
city.put("blood", ""+stuBlood.getText().toString());
city.put("email", ""+stuEmail.getText().toString());
city.put("facebook", ""+stuFacebook.getText().toString());
city.put("gender", ""+stuGender.getText().toString());
city.put("id", ""+stuID.getText().toString());
city.put("image", ""+stuImage.getText().toString());
city.put("location", ""+stuLocation.getText().toString());
city.put("name", ""+stuName.getText().toString());
city.put("phone", ""+stuPhone.getText().toString());
city.put("whatsapp", ""+stuWhatsApp.getText().toString());
city.put("telegram", ""+stuTelegram.getText().toString());
city.put("session", "2020-2021");
String documentID = "YOUR_CUSTOM_DOC_ID (You can also add String here)";
db.collection("YOUR_COLLECTION_PATH").document(""+documentID)
.set(city)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully written!");
Toast.makeText(add_student_info.this, "Added Successfully!", Toast.LENGTH_LONG).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error writing document", e);
Toast.makeText(add_student_info.this, "Failed to add Student data!", Toast.LENGTH_LONG).show();
}
});
// [END set_document]
}
Hope it's working now
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Dharmaraj |
Solution 2 | Hasib |