当前位置: 首页 > 知识库问答 >
问题:

在android的firestore中创建一个自定义的文档id,而不是随机生成一个

魏泰
2023-03-14

如何编辑此代码,以便在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个答案

钱嘉致
2023-03-14

如果您想创建一个自定义文档ID insead,该ID是在使用ColliceRepository的add()方法时生成的,该方法:

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

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

覆盖本文档引用的文档引用

如果您想获得生成的文档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);
 类似资料:
  • 要获取随机文档,我要执行以下操作: 如果没有发现,我重复这个过程。(就像这里提到的)。 如果我有一个随机生成的Firebase ID,这将非常有效,但是由于我有Firebase Auth ID(更长),这个过程实际上不起作用,一些文档从未显示。 null 更改ID不是一个选项,我想避免为它生成一个单独的字段。

  • 我正在从事一个包含如下代码的项目:如何将具有自定义ID的文档添加到firestore(Angular) 当我要尝试这个应用程序时,它总是崩溃。但是代码都是一样的。 我在LogCat中得到的错误是: 无效的文档引用。文档引用必须有偶数个段,但用户有1个 我的完整代码如下: 我希望“user\u id”是文档id,而不是Firestore生成的另一个id。 有人能帮忙吗?提前谢谢你。

  • 我刚开始制作一个使用云fiRecovery作为数据库的简单网站。当用户添加新数据时,我让fiRecovery自动生成文档ID(作为图像)。现在我想得到那个文档ID,但我对此一无所知。这是我的代码: 当我使用控制台时。log(documentId)在该promise之外,它返回“未定义”。请帮忙,谢谢!

  • 问题内容: 我对Swift和编程逻辑很陌生,所以请耐心等待 如何在Swift中生成0到9之间的随机数而不重复最后生成的数字?因为相同的数字不会连续出现两次。 问题答案: 将先前生成的数字存储在变量中,然后将生成的数字与先前的数字进行比较。如果它们匹配,则生成一个新的随机数。重复生成新数字,直到它们不匹配为止。

  • Firestore数据库的图像 如上图所示,所有用户都有一个自动生成的ID。如何使用经过身份验证的用户的userID并将其用作用户集合内的文档ID?

  • 问题内容: 到目前为止,我有以下代码: 但这给了我 将varchar值’## show’转换为数据类型int时,转换失败。 我想要实现的是每次执行查询时都创建一个表## show + random number。 例子 : 用@bluefeet所说的内容进行编辑,并找到了一种使用以下方法创建表的方法 但是如何调用或插入此表? 问题答案: 由于要将参数添加到字符串中,因此需要将其强制转换为varch