Như tại MongoDB 3.2, không có phản hồi nào về lý do xác thực tài liệu không thành công: biểu thức xác thực tổng thể hiện đang đánh giá là Đúng ("OK") hoặc Sai ("Xác thực tài liệu không thành công"). Hành vi xác nhận có thể được điều chỉnh với các tùy chọn cấu hình validationAction
(lỗi / cảnh báo) và validationLevel
(nghiêm ngặt / trung bình / tắt), nhưng điều này không cung cấp bất kỳ bối cảnh nào nữa cho các lỗi xác thực.
Nếu bạn muốn có phản hồi chi tiết hơn, cách tiếp cận được đề xuất là thêm logic xác thực vào ứng dụng của bạn thay vì chỉ dựa vào kiểm tra phía máy chủ. Ngay cả với xác thực phía máy chủ, nhiều kiểm tra được thực hiện tốt nhất trong logic nghiệp vụ ứng dụng để giảm thiểu các chuyến đi khứ hồi đến máy chủ cơ sở dữ liệu và cung cấp phản hồi phản hồi nhanh hơn cho người dùng cuối.
Ví dụ: đầu vào của người dùng cho một ứng dụng web (các trường bắt buộc, định dạng trường, ...) phải được xác thực trong trình duyệt trước khi được gửi tới ứng dụng của bạn hoặc cố gắng chèn / cập nhật vào cơ sở dữ liệu.
Tuy nhiên, sẽ hợp lý khi xác nhận ở nhiều cấp độ để đảm bảo chất lượng dữ liệu và một số bối cảnh để chẩn đoán lỗi xác thực sẽ rất hữu ích. Có một yêu cầu tính năng mở có liên quan mà bạn có thể xem / bỏ phiếu trong trình theo dõi vấn đề MongoDB: SERVER-20547: Đưa ra lý do một hoạt động không xác thực tài liệu .
Để biết thêm thông tin, bạn cũng có thể quan tâm đến Xác thực tài liệu - Phần 1: Thêm số lượng quyền kiểm soát đối với tài liệu của bạn . Điều này nêu bật một số ưu và nhược điểm chung của xác thực tài liệu như tại MongoDB 3.2 và bao gồm bảng tham chiếu cho kết quả dựa trên các tùy chọn cấu hình validationAction
và validationLevel
.