如何构建在猫鼬中工作的嵌套模式?
How to buld a nested schema working in mongoose?
我想在 NodeJs 上构建一个应用程序,它将分析我将输入的一些信息。目前我可以为一个模式编码。但我不能嵌套。谁能帮我解决这个问题。提前致谢。
var provinceSchema = new mongoose.Schema({
城市:字符串
});
我想在每个城市里面放温度,人口。
您可以为城市创建架构并添加一些必需的字段,例如城市名称、温度、人口等,如下所示。
const cityDetailsSchema = new Schema({
cityname: {
type: String,
max: 24,
required: [true, 'Please enter cityname']
},
temparature: {
type: String,
required: true
},
populations: {
type: Number,
required: true
},
nested: cityDetailsNestedSchema
// you can create more fields like as above.
});
const cityDetailsNestedSchema = new Schema({
keyName: {
type: String,
lowercase: true,
trim: true
}
})
const userSchema = new mongoose.Schema( {
name: {
type: String,
required: true,
trim: true
},
password: {
type: String,
required: true,
minlength: 7,
trim: true,
validate(value) {
if (value.toLowerCase().includes('password')) {
throw new Error("password should not be password ")
}
}
}, email: {
type: String,
unique:true,
required: true,
trim: true,
lowercase: true,
validate(value) {
if (!validator.isEmail(value)) {
throw new Error('invalid E-mail')
}
}
},
age: {
type: Number,
default: 0,
validate(value) {
if (value < 0) {
throw new Error('age must be a positive number');
}
}
},
avatar:{
type:Buffer
},
tokens:[{
token:{
type:String,
required:true,
}
}]
},{
timestamps:true
})
const User = mongoose.model('User',userSchema );
你可以这样制作
您可以使用以下方法传递另一个模式:
var nestedSchema = new Schema({
age: {
type: Number,
}
});
var mySchema = new Schema({
nestedField: nestedSchema
});
我想在 NodeJs 上构建一个应用程序,它将分析我将输入的一些信息。目前我可以为一个模式编码。但我不能嵌套。谁能帮我解决这个问题。提前致谢。
var provinceSchema = new mongoose.Schema({ 城市:字符串 });
我想在每个城市里面放温度,人口。
您可以为城市创建架构并添加一些必需的字段,例如城市名称、温度、人口等,如下所示。
const cityDetailsSchema = new Schema({
cityname: {
type: String,
max: 24,
required: [true, 'Please enter cityname']
},
temparature: {
type: String,
required: true
},
populations: {
type: Number,
required: true
},
nested: cityDetailsNestedSchema
// you can create more fields like as above.
});
const cityDetailsNestedSchema = new Schema({
keyName: {
type: String,
lowercase: true,
trim: true
}
})
const userSchema = new mongoose.Schema( {
name: {
type: String,
required: true,
trim: true
},
password: {
type: String,
required: true,
minlength: 7,
trim: true,
validate(value) {
if (value.toLowerCase().includes('password')) {
throw new Error("password should not be password ")
}
}
}, email: {
type: String,
unique:true,
required: true,
trim: true,
lowercase: true,
validate(value) {
if (!validator.isEmail(value)) {
throw new Error('invalid E-mail')
}
}
},
age: {
type: Number,
default: 0,
validate(value) {
if (value < 0) {
throw new Error('age must be a positive number');
}
}
},
avatar:{
type:Buffer
},
tokens:[{
token:{
type:String,
required:true,
}
}]
},{
timestamps:true
})
const User = mongoose.model('User',userSchema );
你可以这样制作
您可以使用以下方法传递另一个模式:
var nestedSchema = new Schema({
age: {
type: Number,
}
});
var mySchema = new Schema({
nestedField: nestedSchema
});