ณ MongoDB 3.2 ไม่มีข้อเสนอแนะเกี่ยวกับเหตุผลในการตรวจสอบความถูกต้องของเอกสารล้มเหลว: ขณะนี้นิพจน์การตรวจสอบความถูกต้องโดยรวมประเมินว่าเป็น True ("OK") หรือ False ("การตรวจสอบเอกสารล้มเหลว") พฤติกรรมการตรวจสอบสามารถปรับได้ด้วยvalidationAction
(ข้อผิดพลาด / เตือน) และvalidationLevel
(เข้มงวด / ปานกลาง / ปิด) ตัวเลือกการกำหนดค่า แต่สิ่งนี้ไม่ได้ให้บริบทเพิ่มเติมใด ๆ สำหรับการตรวจสอบความล้มเหลว
หากคุณต้องการคำติชมโดยละเอียดเพิ่มเติมวิธีที่แนะนำคือการเพิ่มตรรกะการตรวจสอบลงในแอปพลิเคชันของคุณแทนที่จะใช้การตรวจสอบฝั่งเซิร์ฟเวอร์เพียงอย่างเดียว แม้ว่าจะมีการตรวจสอบความถูกต้องของฝั่งเซิร์ฟเวอร์การตรวจสอบจำนวนมากก็ทำได้ดีที่สุดในตรรกะทางธุรกิจของแอปพลิเคชันเพื่อลดการเดินทางไปยังเซิร์ฟเวอร์ฐานข้อมูลให้น้อยที่สุดและให้ข้อเสนอแนะที่ตอบสนองต่อผู้ใช้
ตัวอย่างเช่นการป้อนข้อมูลผู้ใช้สำหรับเว็บแอป (ฟิลด์ที่จำเป็น, รูปแบบฟิลด์, ... ) ควรได้รับการตรวจสอบความถูกต้องในเบราว์เซอร์ก่อนที่จะส่งไปยังแอปพลิเคชันของคุณหรือพยายามแทรก / อัปเดตในฐานข้อมูล
อย่างไรก็ตามมันสมเหตุสมผลที่จะตรวจสอบหลายระดับเพื่อให้แน่ใจว่าคุณภาพของข้อมูลและบริบทบางอย่างในการวินิจฉัยความล้มเหลวในการตรวจสอบจะมีประโยชน์มาก มีคำขอคุณลักษณะที่เกี่ยวข้องที่เปิดให้คุณสามารถดู / ขึ้นลงคะแนนเสียงในการติดตามปัญหา MongoDB คือSERVER-20547: เปิดเผยเหตุผลที่การดำเนินการล้มเหลวในการตรวจสอบเอกสาร
สำหรับข้อมูลเพิ่มเติมคุณอาจจะสนใจในเอกสารการตรวจสอบ - ส่วนที่ 1: การเพิ่มเพียงขวาจำนวนเงินของการควบคุมเอกสารของคุณ นี่เป็นการเน้นถึงข้อดีข้อเสียทั่วไปของการตรวจสอบเอกสารที่ MongoDB 3.2 และมีตารางอ้างอิงสำหรับผลลัพธ์ตามตัวเลือกvalidationAction
และvalidationLevel
การกำหนดค่า