在Android的Firestore中创建自定义文档ID,而不是生成随机的ID

时间:2019-02-01 21:55:50

标签: java android firebase google-cloud-firestore

如何编辑此代码,以便可以在Firestore中创建自己的自定义文档ID?

users.add(new Accounts(fname, lname, uname, email, pass)).addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
        @Override
        public void onSuccess(DocumentReference documentReference) {
            Toast.makeText(CreateAccount.this, "Data saved to FireStore", Toast.LENGTH_SHORT).show();
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
             Log.d(TAG, e.toString());
        }
    });

1 个答案:

答案 0 :(得分:0)

如果要创建使用CollectionReference的add()方法时生成的自定义文档ID,请执行以下操作:

  

使用指定的POJO作为内容向此集合添加一个新文档,并自动为其分配一个文档ID。

您应该使用DocumentReference的set()方法:

  

覆盖此DocumentRefere引用的文档

如果要获取生成的文档ID或在参考中使用自定义ID,请使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference usersRef = rootRef.collection("users");
//String id = usersRef.collection("users").document().getId(); //Gets de generated id
String id = "yourCustomId";
Accounts accounts = new Accounts(fname, lname, uname, email, pass);
usersRef.document(id).set(accounts);
相关问题