MongoDB 3.2'de olduğu gibi, belge doğrulamasının başarısız olmasının nedeni hakkında herhangi bir geri bildirim yoktur: genel doğrulama ifadesi şu anda Doğru ("Tamam") veya Yanlış ("Belge başarısız doğrulama") olarak değerlendirilmektedir. Doğrulama davranışı validationAction
(hata / uyar) ve validationLevel
(katı / orta / kapalı) yapılandırma seçenekleriyle ayarlanabilir, ancak bu doğrulama hataları için başka bir bağlam sağlamaz.
Daha ayrıntılı geri bildirim almak istiyorsanız, önerilen yaklaşım, yalnızca sunucu tarafı denetimlerine güvenmek yerine uygulamanıza doğrulama mantığı eklemek olacaktır. Sunucu tarafı doğrulamasında bile, veritabanı sunucusuna gidiş-dönüşleri en aza indirmek ve son kullanıcıya daha duyarlı geri bildirim sağlamak için uygulama iş mantığında birçok denetim en iyi şekilde yapılır.
Örneğin, bir web uygulaması için kullanıcı girişi (zorunlu alanlar, alan biçimleri, ...) uygulamanıza gönderilmeden veya veritabanına ekleme / güncelleme girişiminde bulunulmadan önce tarayıcıda doğrulanmalıdır.
Bununla birlikte, veri kalitesini sağlamak için birden fazla seviyede doğrulamak mantıklıdır ve doğrulama hatalarını teşhis etmek için bazı bağlamlar çok yararlı olacaktır. MongoDB sorun izleyicide izleyebileceğiniz / oy verebileceğiniz ilgili bir açık özellik isteği var: SERVER-20547: Bir işlemin belge doğrulamasında başarısız olmasının nedenini ortaya çıkarın .
Daha fazla bilgi için ayrıca Belge Doğrulama - Bölüm 1: Belgeleriniz Üzerinde Doğru Kontrol Miktarını Ekleme ilginizi çekebilir . Bu, MongoDB 3.2'deki gibi belge doğrulamanın bazı genel artılarını ve eksilerini vurgular ve sonuca validationAction
ve validationLevel
yapılandırma seçeneklerine dayalı bir referans tablosu içerir .