node.js アプリケーションで MongoDB の ODM として Mongoose の使用を開始しようとしています。値を追加しないと、空の配列 "[]" が Mongo に格納される埋め込みドキュメントを含むスキーマを設計するときに気付きました。どうしてこれなの?履歴の変更をレコードに保存しようとしていますが、空の配列はその変更が値を削除したことを意味します。サンプル スキーマを次に示します。
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"
}
デフォルトで空の配列を持つ製品が追加されるのはなぜですか?どうすれば停止できますか?