如何构建在猫鼬中工作的嵌套模式?

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

});