【问题标题】:Create a custom document id in firestore in android, instead of generating random one在android的firestore中创建一个自定义文档id,而不是随机生成一个
【发布时间】:2019-02-01 21:55:49
【问题描述】:

如何编辑此代码以便在 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());
        }
    });

【问题讨论】:

  • 您好 Loui,您能否改进源代码的格式以便贡献者帮助您?

标签: java android firebase google-cloud-firestore


【解决方案1】:

如果您想创建一个自定义文档 ID,而不是使用 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);

【讨论】:

    猜你喜欢
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多