我在Java的Android应用程序中使用FirebaseSDK,我想将文档的ID存储在文档中。例如,假设我有一个名为学生的类,我想将学生的卷号存储为文档ID以及rollNum字段;我不想随机生成卷号,我想输入卷号,但按照下面的代码我无法这样做。
class Student {
@DocumentId private String rollNum;
private String name;
private String surname;
public String getRollNum() {
return rollNum;
}
public void setRollNum(String rollNum) {
this.rollNum = rollNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
我正在使用以下代码创建一个文档
Student data = new Student();
data.setName("Test");
data.setSurname("Test");
data.setRollNum("9999999");
db.collection("TestCollection").document("9999999").set(data);
即使调用data.setRollNum("9999999")
也不会在FiRecovery上设置字段。在这种情况下应该怎么做?我知道解决方法是删除@DocumentId
。还有其他可用的解决方案吗?
DocumentId不在firestore文档中存储该值,而是在使用documentSnapshot转换为对象时存储该值。toObject(Student.class)字段学生。将填充rollNum。
我想像这样更新文档: 但是,如果doc user\u id不存在,上述代码将抛出错误。因此,如果不存在,如何告诉Firestore创建学生,换句话说,行为如下:
我试图实现的很简单。只有当数据库不存在时,我才需要在数据库中创建一个用户条目。 应用程序流程: 使用Firebase身份验证(获取UID)创建用户 客户端代码(创建操作): firestore规则: 附加信息: 正如您可能已经知道的那样,代码不起作用。每次我运行客户端代码时,当前用户都会被一个新文档完全替换。但是,如果我从规则中删除以下行,一切都会正常工作: 但现在问题来了,如何保护用户文档中的数
我必须创建一个PDF文件,其中我使用PDFmake来实现这一点。但PDFmake不具备在文档中添加签名字段的功能。 因此,我打开了一个带有签名字段的示例PDF,并复制了包含签名字段名称的对象:
是否可以在同一事务中使用Cloud FiRecovery针对集合创建多个文档? 我正在查看批处理写入的留档。除非我弄错了(我是Firebase的新手,可能是这样),这些示例旨在演示“批处理写入”,但示例仅显示正在更新的单个字段。
我正在尝试查询DocumentID以我的字符串开头的所有文档。我的研究告诉我,通过在where()中使用“<=”来设置字段值是可能的,但我在网上没有找到任何关于如何在文档ID字段上执行此操作的信息。 我还发现这是一个潜在的解决方案: 但是,这会产生错误:“nameerror:name'firebase'is not defined”
这是我的数据库在https://i.stack.imgur.com/3nZMn.png的照片 这是我用来在这个数据库中创建新用户的函数。它正在工作,但是缺少子集合。 有人有办法解决这个问题吗?