我知道要获取ID:
String cityId = db.collection("cities").document().getId(); db.collection("cities").document(cityId).set(city);
但是更容易:
db.collection("cities").add(city);
但是如何获得身份证?它不起作用.add(city).getId()。文档中没有信息。
.add(city).getId()
在Firestore中一步添加呼叫时如何获取ID?
您无法像使用document()呼叫那样一步一步地获得文档ID 。为了解决这个问题,您应该添加一个完整的侦听器。试试这个:
document()
db.collection("cities").add(city).addOnCompleteListener(new OnCompleteListener<DocumentReference>() { @Override public void onComplete(@NonNull Task<DocumentReference> task) { if (task.isSuccessful()) { DocumentReference document = task.getResult(); if (document != null) { String id = document.getId(); //Do what you need to do with the document id Log.d(TAG, id); } } } });