ฉันเพิ่งเริ่มใช้ Firebase และ Firestore และเพิ่งมีส่วนร่วมในโปรเจ็กต์ Swift iOS ที่ใช้ Firebase เป็นแบ็กเอนด์ ปกติฉันใช้ฐานข้อมูล Postgres ดังนั้นฉันจึงยังไม่สะดวกที่จะใช้ NoSQL ฉันชอบฐานข้อมูล SQL ที่มีสคีมาที่กำหนดไว้ ดังนั้นฉันจึงมั่นใจได้ว่ารายการทั้งหมดมีพารามิเตอร์เหมือนกัน
แต่… ดูเหมือนว่า Firestore จะเป็น NoSQL ทั้งหมด ดังนั้นฉันจึงพยายามทำให้ดีที่สุดเท่าที่จะทำได้
ฉันมีหน้าเข้าสู่ระบบ/ลงชื่อสมัครใช้ของผู้ใช้ที่ใช้ Firestore ฉันตัดสินใจทดสอบโดยลงชื่อสมัครใช้ ออกจากระบบ ลบผู้ใช้ออกจากหน้าคอนโซล Firestore ในคอลเล็กชันที่เกี่ยวข้อง แล้วสมัครใหม่อีกครั้ง หน้าคอนโซล Firestore มีลักษณะดังนี้:
แต่เมื่อฉันลบผู้ใช้และลองสมัครใหม่อีกครั้ง ฉันจะได้รับ ERROR_EMAIL_ALREADY_IN_USE
ข้อผิดพลาด.
ฉันไม่รู้ว่าทำไมแอปตรวจพบที่อยู่อีเมลนั้นว่ายังอยู่ในฐานข้อมูล บางทีผู้ใช้อาจถูกเก็บไว้ในคอลเล็กชันอื่นที่ฉันไม่เห็นด้วย
อย่างไรก็ตาม ฉันคิดว่าการลบทุกอินสแตนซ์ของที่อยู่อีเมลนี้จะง่ายกว่าหากฉันสามารถค้นหาในคอลเล็กชันและค่าคีย์ทั้งหมดได้ มีวิธีการทำเช่นนี้หรือไม่?