gpt4 book ai didi

arrays - mongodb 模式如何为子文档数组设置默认值?

转载 作者:可可西里 更新时间:2023-11-01 10:39:47 24 4
gpt4 key购买 nike

示例我有这个架构。

{
field1: {
type: String,
trim: true
},
field2: [{
subField1: {
type: String,
},
subField2: {
type: Number,
default: 0
}
}]
}

如果我只是在文档插入中提供了 field1,我应该如何为 field2 的架构设置默认值?

示例 如果我只是插入 {field1: "sample string data"},那么 field2 上的值是一个空数组。

最佳答案

你能试试这个吗?使用 type 指定架构,使用 default 作为默认值

const TesterSchema = new Schema({  
field1: {
type: String,
trim: true
},
field2: {
type : [{
subField1: {
type: String
},
subField2: {
type: Number
}
}],
default :[{subField2 : '0'}]
}
}
);

例子

Tester.create({field1 : 'testing'}, function(err,doc){
if(err) console.log(err)
console.log(doc)
})

控制台输出

Mongoose: testerzz.insert({ field1: 'testing', _id: ObjectId("5a6ae40a351d4254c6e0fdc2"), field2: [ { subField2: 0, _id: ObjectId("5a6ae40a351d4254c6e0fdc1") } ], __v: 0 })
{ __v: 0,
field1: 'testing',
_id: 5a6ae40a351d4254c6e0fdc2,
field2: [ { subField2: 0, _id: 5a6ae40a351d4254c6e0fdc1 } ] }

蒙戈命令行

> db.testerzz.find({_id: ObjectId("5a6ae40a351d4254c6e0fdc2")}).pretty()
{
"_id" : ObjectId("5a6ae40a351d4254c6e0fdc2"),
"field1" : "testing",
"field2" : [
{
"subField2" : 0,
"_id" : ObjectId("5a6ae40a351d4254c6e0fdc1")
}
],
"__v" : 0
}
>

关于arrays - mongodb 模式如何为子文档数组设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48457611/

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