为了账号安全,请及时绑定邮箱和手机立即绑定

根据来自不同集合的文档的存在,将文档添加到集合中

根据来自不同集合的文档的存在,将文档添加到集合中

冉冉说 2021-08-04 17:19:37
在 Firestore 上,我试图根据不同集合中另一个文档的存在将文档添加到一个集合中。例如,如果我的会话集合中存在某个会话,则可以将考勤记录添加到考勤集合中。这可以在 Cloud Firestore 上实现吗?
查看完整描述

2 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您可以通过exists()在DocumentSnapshot对象上调用方法来检查特定文档是否存在于您的session集合中,从而在用户端解决此问题,如下所示:


FirebaseFirestore rootRef = FirebaseFirestore.getInstance();

DocumentReference docRef = rootRef.collection("session").document(docId);

docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {

    @Override

    public void onComplete(@NonNull Task<DocumentSnapshot> task) {

        if (task.isSuccessful()) {

            DocumentSnapshot document = task.getResult();

            if (document.exists()) {

                //Add attendance record to the attendance collection

            } else {

                Log.d(TAG, "No such document");

            }

        }

    }

});

为了 100% 确保您还可以使用安全规则,正如@Gerardo 在他的回答中提到的那样,您可以在其中再次使用exists()方法来查看会话集合中是否存在某个会话,并相应地拒绝该操作。


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信