mongoose设置默认数组大小和值

我试图在我的mongoose模式中设置一个默认的数组大小和值,但是返回总是以[]出现,除非文档实际上有数据。

 "transform": { type: [ Number ], default: [0, 0, 0] } 

返回值是:

 "transform":[] 

如何configuration我的模式,以便它返回:

 "transform":[0,0,0] 

required: true设置required: true将数据添加到创build的任何新文档。 旧文件不会被更新,但是。

 "transform": { type: [ Number ], default: [0, 0, 0], required: true } 

更新为了快速解决我的数据问题,我在Mongo上运行了一个更新,使用以下行升级所有现有的文档。

 db.getCollection('objects').updateMany( { "properties.transform": []}, { $set: { "properties.transform" : [0,0,0] }} ); 

注意:我的变换字段是属性的子元素,因此"properties.transform"

那么它要么在模式中设置为true。 或者是false,默认为空。 在这种情况下,你不可能有两种方式空或提供一个值。

你可以使用一个黑客是这个。 只需设置为true,并在数据input最初推零数组。

 model.push([0,0,0]);