猫鼬设置默认数组大小和值
Mongoose setting default array size and values
我正在尝试在我的 mongoose 模式中设置默认数组大小和值,但 return 总是显示为 []
,除非文档实际上有数据。
"transform": { type: [ Number ], default: [0, 0, 0] }
Return值为:
"transform":[]
我如何配置我的模式以便 returns:
"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] }}
);
注意:我的 t运行sform 字段是属性的子字段,因此 "properties.transform"
好吧,要么在架构中将 required 设置为 true。或 false,默认为空。在这种情况下,您不能同时为空或提供值。
你可以使用的技巧是这个。
只需将 required 设置为 true,并在数据输入时最初推送零数组。
model.push([0,0,0]);
我正在尝试在我的 mongoose 模式中设置默认数组大小和值,但 return 总是显示为 []
,除非文档实际上有数据。
"transform": { type: [ Number ], default: [0, 0, 0] }
Return值为:
"transform":[]
我如何配置我的模式以便 returns:
"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] }}
);
注意:我的 t运行sform 字段是属性的子字段,因此 "properties.transform"
好吧,要么在架构中将 required 设置为 true。或 false,默认为空。在这种情况下,您不能同时为空或提供值。
你可以使用的技巧是这个。 只需将 required 设置为 true,并在数据输入时最初推送零数组。
model.push([0,0,0]);