Tindak balas pertanyaan Firestore tidak menemui dokumen pada jalan pertama
P粉463291248
P粉463291248 2023-09-12 10:49:36
0
1
666

Saya sedang membina apl web di mana pengguna boleh membuat temu janji dengan doktor dan saya mahu menghalang pengguna daripada membuat temu janji dengan doktor yang sama pada masa dan tarikh yang sama yang telah diminta oleh pengguna lain. Saya menggunakan pangkalan data firestore untuk menyimpan maklumat janji temu sebagai dokumen. Berikut ialah fungsi saya yang mengendalikan semakan dan menolaknya ke pangkalan data firebase saya:

    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
    };

Pada penyegaran halaman, jika saya cuba menempah janji temu yang telah diminta, panjang dokumen ialah 0 dan saya boleh membuat janji temu yang sama. Walau bagaimanapun, jika saya mencuba lagi (tanpa menyegarkan semula), panjang dokumen ialah 1 dan ia tidak ditolak ke pangkalan data.

P粉463291248
P粉463291248

membalas semua(1)
P粉237029457

Saya kini menghuraikan medan tarikh sebagai rentetan dan sebenarnya membandingkan rentetan dan bukannya tarikh.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!