【发布时间】:2020-12-18 09:55:09
【问题描述】:
我有三个 mongo 模式,每个模式都相互嵌套。主要的有一个嵌套的 JSON,其中也有一个嵌套的 JSON。但是,当使用主模式保存用户时,其他两个嵌套模式没有使用它们的默认值保存,为什么?这是我的三个模式的示例(只是示例数据结构):
const userContacts = new mongoose.Schema({
user1PhoneNumber: {
type: Number,
default: 0
},
user2PhoneNumber: {
type: Number,
default: 0
}
})
const contact = new mongoose.Schema({
phoneNumber: {
type: Number,
default: 0
},
contacts: {
type: userContacts
}
})
const finalUserSchema = new mongoose.Schema({
username: {
type: String,
required: true,
max: 255
},
email: {
type: String,
required: true,
max: 255,
},
password: {
type: String,
required: true,
min: 10,
max: 1024,
},
contactDetails: {
type: contact
}
})
module.exports = mongoose.model('User', finalUserSchema);
当用户首次使用 mongoose 模型创建时,未设置这些值,因为它们将在以后使用...但它们仍应以其默认值出现在数据库中:
const user = new User({
username: req.body.username,
email: req.body.email,
password: hashedPassword,
});
数据库中保存的内容:
contactDetials 具有默认值的嵌套 JSON 对象在哪里,我不应该在第一次保存用户时提供任何数据,因为它应该只使用具有默认值的数据模型?
【问题讨论】:
标签: javascript node.js json mongodb mongoose