數據庫 · 2 1 月, 2024

MongoDB 詞彙表 - 驗證

MongoDB 詞彙表 - 驗證

在數據庫的世界中,驗證在確保數據完整性和一致性方面扮演著關鍵角色。MongoDB,這個流行的 NoSQL 數據庫,提供了一個強大的驗證功能,允許用戶定義數據驗證規則。在本文中,我們將探討 MongoDB 中驗證的概念,以及它如何用於維護數據質量。

MongoDB 中的驗證是什麼?

MongoDB 中的驗證是指對存儲在集合中的文檔結構和內容定義及執行規則的過程。它使您能夠指定必須滿足的條件,以便將文檔視為有效。通過定義驗證規則,您可以確保您的數據遵循特定要求,防止無效或不一致數據的插入。

驗證規則

MongoDB 提供了一種靈活且富有表達力的語法來定義驗證規則。這些規則使用 MongoDB 查詢語言(MQL)編寫,並可以在集合層面上應用。以下是驗證規則的一些關鍵組成部分:

  • 驗證行為:指定當文檔未通過驗證時應採取的行動。MongoDB 支持兩種行為:warnerrorwarn 行為記錄警告信息,但允許文檔被插入或更新。error 行為則阻止文檔的插入或更新。
  • 驗證級別:決定何時應用驗證規則。MongoDB 支持三個級別:offmoderatestrictoff 級別禁用驗證,而 moderate 級別僅在插入和更新時應用驗證。strict 級別則強制對所有寫入操作進行驗證。
  • 驗證表達式:定義必須滿足的條件,以便將文檔視為有效。該表達式可以使用各種運算符、函數和字段值來執行複雜的驗證。例如,您可以檢查某字段是否存在、驗證其數據類型或施加特定約束。

驗證示例

讓我們看一些示例,以了解驗證在 MongoDB 中是如何運作的:

{
  $jsonSchema: {
    bsonType: "object",
    required: ["name", "age"],
    properties: {
      name: {
        bsonType: "string",
        description: "必須是字符串並且為必填"
      },
      age: {
        bsonType: "int",
        minimum: 18,
        maximum: 99,
        description: "必須是一個介於 18 和 99 之間的整數"
      }
    }
  }
}

在這個示例中,我們使用 $jsonSchema 運算符定義了一個驗證規則。該規則指定每個文檔必須具有 nameage 字段。name 字段必須是字符串,而 age 字段必須是一個介於 18 和 99 之間的整數。

通過應用此驗證規則,MongoDB 確保只有符合這些標準的文檔才能插入或更新到集合中。如果某文檔未通過驗證,將根據驗證級別執行指定的操作(例如,warnerror)。

結論

數據驗證是數據庫管理的一個關鍵方面,MongoDB 提供了一個強大的驗證功能,以確保數據完整性。通過定義驗證規則,您可以對文檔的結構和內容施加特定條件。這有助於維護數據質量和一致性,防止插入無效或不一致的數據。

如需了解更多關於 MongoDB 及其特性的資訊,請考慮探索 Server.HK,這是一家領先的 VPS 主機供應商,提供可靠且可擴展的 MongoDB 主機解決方案。