java我希望将用户数据作为管理文档的子集合存储在CloudFireStore中
注册管理员活动将其详细信息存储在管理员集合文档(管理员名称)中,但当我使用uid将教授详细信息(通过管理员门户)作为子集合添加到管理员文档中时,它会生成一个名为uid的新文档
如何将用户/教授的详细信息作为子集合存储在当前管理文档中? 请帮帮我,谢谢
声明:
FirebaseAuth auth;
String userId;
FirebaseFirestore firestore;
正在初始化和获取uid:
firestore = FirebaseFirestore.getInstance();
auth = FirebaseAuth.getInstance();
userId = auth.getCurrentUser().getUid();
正在从文档传递用户标识:
DocumentReference documentReference = firestore.collection("Admin").document(userId).collection("Professor").document(professorname);
Map<String, String> Professor = new HashMap<>();
Professor.put("Name", professorname);
Professor.put("Email", email);
Professor.put("Phone", phone);
Professor.put("Desgination",desig);
Professor.put("Department",dept);
documentReference.set(Professor).addOnSuccessListener(new OnSuccessListener<Void>()
{...}
# 1 楼答案
问题是
userId
与创建管理文档时定义的name
不对应。因此,当您使用此文档引用时:DocumentReference documentReference = firestore.collection("Admin").document(userId).collection("Professor").document(professorname);
会创建一个新文档,因为数据库中不存在userId
。 确保userId
对应于name
(数据库中的id),然后它应该按预期工作