【发布时间】:2022-01-21 19:32:05
【问题描述】:
这是子文档的架构。
const MainProcessSchema=new mongoose.Schema({
processID:{type:String,required:true,unique:true},
processName:{type:String,required:true},
description:{type:String,required:true},
subProcess:[
{
index:{type:Number},
subProcessID:{type:mongoose.Schema.Types.ObjectId,ref:'sub-process'},
}
],
steps:[
{
stepNo:{type:String,required:true},
stepType:{type:String,
enum:{
values:['image','video'],
message:'{VALUE} should be image or video'
},
required:true}
}
]
})
这是我一直在尝试使用 Equipment.create(req.body) 保存的文档,但在成功保存一个文档后出现 processList.processID:null 的重复键错误。
const EquipmentSchema=new mongoose.Schema<Equipment>({
Id:{type:String,required:true,unique:true},
Name:{type:String,required:true}
Details:{type:String},
processList:[{type:MainProcessSchema,required:false}]
})
export const Equipment=model<Equipment>('equipment',EquipmentSchema);
我想保存可能包含或不包含 processList 的设备文档,但它不是必需的,除非 processID 已填满。
【问题讨论】:
标签: node.js mongoose mongoose-schema