【发布时间】:2017-08-01 09:33:02
【问题描述】:
我正在尝试在我的 mongoose 架构中设置默认数组大小和值,但返回始终显示为 [],除非文档实际上有数据。
"transform": { type: [ Number ], default: [0, 0, 0] }
返回值为:
"transform":[]
如何配置我的架构以使其返回:
"transform":[0,0,0]
回答:
设置required: true 会将数据添加到创建的任何新文档中。但是,旧文档不会更新。
"transform": { type: [ Number ], default: [0, 0, 0], required: true }
更新 为了快速解决我的数据问题,我在 Mongo 上运行了更新以使用以下行升级所有现有文档。
db.getCollection('objects').updateMany(
{ "properties.transform": []},
{ $set: { "properties.transform" : [0,0,0] }}
);
注意:我的转换字段是属性的子字段,因此 "properties.transform"
【问题讨论】:
-
零被视为空
-
有没有办法覆盖它?我想我可以使用 1,1,1(刚刚测试并且可以使用),但这并不理想。
标签: node.js mongodb mongoose mongoose-schema