gpt4 book ai didi

node.js - Mongoose 设置默认数组大小和值

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:07 25 4
gpt4 key购买 nike

我正在尝试在我的 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"

最佳答案

那么您可以在架构中将 required 设置为 true 。或者 false,默认为空。在这种情况下,不能同时使用两种方法:要么为空,要么提供一个值。

你可以使用的一个技巧是这个。只需将 required 设置为 true,并在数据输入时首先推送零数组。

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

关于node.js - Mongoose 设置默认数组大小和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42728544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com