首页 > 解决方案 > 如何在android Firestore的文档字段中保存文档ID?

问题描述

我可以将文档保存到 firestore,但我也想将新保存的文档 id 也保存到同一个文档中,我正在尝试下面的示例,但效果不佳

 String id = db.collection("user_details").document().getId();

                                Map map = new HashMap<>();
                               map.put("username", username);
                                map.put("email", email);
                                map.put("id", id);




                                UserRef.document(id).set(map).addOnSuccessListener(new OnSuccessListener<Void>() {
                                    @Override
                                    public void onSuccess(Void aVoid) {

                                        //progressbar invisible;
;

                                    }
                                });

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


每次调用时document(),您都会获得一个新的唯一 ID。所以,一定要只调用一次,这样你就只处理一个ID。

首先获取 DocumentReference:

DocumentReference ref = db.collection("user_details").document();

获取其 ID:

String id = ref.getId();

然后编写要发送的数据:

Map map = new HashMap<>();
map.put("username", username);
map.put("email", email);
map.put("id", id);

最后,将该数据放入前面引用的文档中:

ref.set(map)...

推荐阅读