首次运行时,React Firestore查询未找到文档
P粉463291248
P粉463291248 2023-09-12 10:49:36
0
1
685

我正在构建一个网络应用程序,用户可以与医生预约,我想防止用户在同一时间和日期与其他用户已经请求的同一医生预约。我使用一个firestore数据库来存储预约信息作为文档。 这是我的函数,用于处理检查并将其推送到我的firebase数据库:

    const addAppointment = async (date: Date | null, speciality: string | undefined) => {
      const appointmentsRef = collection(db, "appointments");
      const q = query(appointmentsRef, where("speciality", "==", speciality), where("date", "==", date))
      const docs = await getDocs(q);
      docs.forEach((doc: any) => {
        console.log(doc.data())
      })
      console.log(docs.docs.length)
      if (docs.docs.length === 0) {
        try{
          await addDoc(collection(db, "appointments"), {
            email: auth.currentUser?.email,
            date,
            speciality
          });}
          catch (err) {
            console.error(err);
          }
        return false
      }
        return true
    };

在页面刷新时,如果我尝试预约已经被请求的预约,docs长度为0,我可以进行相同的预约。然而,如果我再次尝试(不刷新),doc长度为1,而且没有推送到数据库。

P粉463291248
P粉463291248

全部回复(1)
P粉237029457

我现在将日期字段解析为字符串,实际上是在比较字符串而不是日期。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板