在插入文檔時,我想使用mongodb文檔驗證功能檢查文檔中存在的所有鍵是否來自預定義的一組鍵。假定只有「一」,「B」,「C」被允許鍵和DOC1和DOC2下面定義是2個文件:使用文檔驗證程序確保文檔中僅存在某些鍵
{
"a": "any_value",
"b":"any_other_value"
},
{
"a": "any_value",
"b": "any_other_value",
"d": "other_value"
}
在這種情況下是DOC1有效的文檔和DOC2是無效的。
另外,如果在上述情況下又添加了一個條件,那麼所有密鑰都必須存在?
注:我想知道這是否可以通過文檔驗證MongoDB中3.2
什麼是你的客戶端API?如果它是nodejs,你可以使用moogoose框架來爲集合定義模式? – notionquest
您可以在MongoDB 3.2 *中使用*文檔驗證的最佳方法是要求所有密鑰都必須存在,在這種情況下,「doc1」也是無效的。這是你想要的嗎? – styvane
@ user3100115我需要兩個驗證器,第一種情況下doc1有效,第二種情況如您所述,但必須不存在額外的密鑰 – tpnsharma