相关疑难解决方法(0)

为什么Mongoose会添加空白数组?

我正在尝试使用我的node.js应用程序开始使用Mongoose作为MongoDB的ODM.我注意到当我设计一个带有嵌入式文档的模式时,如果我没有为它添加值,它会在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}},
})
Run Code Online (Sandbox Code Playgroud)

当我使用名称和子域保存文档时,这是生成的文档.

{
    "name": "Smith Company",
    "products": [],
    "subdomain": "smith"
}
Run Code Online (Sandbox Code Playgroud)

为什么默认情况下会添加带有空白数组的产品,如何阻止它?

mongoose mongodb node.js

23
推荐指数
4
解决办法
1万
查看次数

标签 统计

mongodb ×1

mongoose ×1

node.js ×1