我想用我的node.js應用程序開始使用Mongoose作爲MongoDB的ODM。我注意到,當我設計一個帶有嵌入式文檔的模式時,如果我不向它添加值,它會在Mongo中存儲一個空白數組「[]」。爲什麼是這樣?我試圖存儲對記錄的歷史更改,而空白數組意味着該更改會刪除該值。這是一個示例模式。爲什麼Mongoose添加空白數組?
schema.Client = new mongoose.Schema({
name:{type:String, required:true},
products:[{
name:{type:String, index:true},
startDate:Date,
endDate:Date
}],
subdomain:{type:String, index:{unique:true}},
})
這裏是所產生的文件時,我保存剛纔的名稱和子文件。
{
"name": "Smith Company",
"products": [],
"subdomain": "smith"
}
它爲什麼默認添加空白數組的產品,我該如何阻止它?
一個數組的默認值是一個空數組,所以如果你只保存{名:「富」,子域:「酒吧」}產品將是一個空陣列。 – supernova
有沒有辦法改變數組的默認值,導致它不寫任何東西? – wintzer
你可以在哪裏更新你的文檔嗎? – supernova