我想创建一个Mongoose模式,以以下限制验证下面的对象:
- field2是可选的(0-1关系),
- 如果存在field2,则需要field2.type(注意字段名称为"type",作为mongoose类型定义的保留字),
- field2和基本对象必须在同一文档中。
代码示例:
{
field1: "data",
field2: {
type: "data",
data: "data"
}
}
提前致谢。
我想创建一个Mongoose模式,以以下限制验证下面的对象:
代码示例:
{
field1: "data",
field2: {
type: "data",
data: "data"
}
}
提前致谢。
您可以参考此答案:
{
field1: "your data",
field2: {
type: {
"your data"
},
required: false
}
}
那么举个例子:
{
field1: String,
field2: {
type: {
nestedField1: { type: String, required: true },
nestedField2: String
},
required:false
}
}
如果存在field2
,则需要填写nestedField1
。@Mina Michael 的答案对我没有起作用,但是当我稍微修改一下后,它就对我有用了。我试着这样做:
{
field1: String,
field2:{
type: new Schema({
nestedField1: {type:Boolean,required:true},
nestedField2: String,
}),
required: false
}
}
你可能想要的是这个:
var Field2Schema = new mongoose.Schema({
type: { type: String, required: true },
data: String
});
var MainSchema = new mongoose.Schema({
field1: String,
field2: Field2Schema
});
如何将这个架构的数据插入到数据库中...主要是那些嵌套的字段...employee.namefirst = req.body.namefirst;
//first = req.body.namefirst;
employee.name.middle = req.body.namemiddle;
employee.name.last = req.body.namelast;