本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
$jsonSchema
4.0 版的新功能。
Elastic 叢集不支援。
Amazon DocumentDB 中的$jsonSchema運算子用於根據指定的 JSON 結構描述篩選文件。此運算子可讓您查詢符合特定 JSON 結構描述的文件,確保擷取的文件符合特定的結構和資料類型需求。
使用$jsonSchema評估查詢運算子作為集合建立的一部分,您可以驗證要插入集合的文件結構描述。如需其他資訊使用 JSON 結構描述驗證,請參閱 。
參數
-
required(陣列):指定文件中的必要欄位。 -
properties(物件):定義文件中每個欄位的資料類型和其他限制條件。
範例 (MongoDB Shell)
下列範例示範如何使用 $jsonSchema運算子來篩選employees集合,以僅擷取具有 name、 employeeId和 age 欄位的文件,而 employeeId 欄位的類型為 string。
建立範例文件
db.employees.insertMany([ { "name": { "firstName": "Carol", "lastName": "Smith" }, "employeeId": "1" }, { "name": { "firstName": "Emily", "lastName": "Brown" }, "employeeId": "2", "age": 25 }, { "name": { "firstName": "William", "lastName": "Taylor" }, "employeeId": 3, "age": 24 }, { "name": { "firstName": "Jane", "lastName": "Doe" }, "employeeId": "4" } ]);
查詢範例
db.employees.aggregate([ { $match: { $jsonSchema: { required: ["name", "employeeId", "age"], properties: { "employeeId": { "bsonType": "string" } } } }} ]);
輸出
{ "_id" : ObjectId("6908e8b61f77fc26b2ecd26f"), "name" : { "firstName" : "Emily", "lastName" : "Brown" }, "employeeId" : "2", "age" : 25 }
程式碼範例
若要檢視使用 $jsonSchema命令的程式碼範例,請選擇您要使用的語言標籤: