小编典典

在Firestore中一步添加呼叫时如何获取ID?

java

我知道要获取ID:

String cityId = db.collection("cities").document().getId();
db.collection("cities").document(cityId).set(city);

但是更容易:

db.collection("cities").add(city);

但是如何获得身份证?它不起作用.add(city).getId()。文档中没有信息。


阅读 229

收藏
2020-11-30

共1个答案

小编典典

在Firestore中一步添加呼叫时如何获取ID?

您无法像使用document()呼叫那样一步一步地获得文档ID 。为了解决这个问题,您应该添加一个完整的侦听器。试试这个:

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);
            }
        }
    }
});
2020-11-30