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

时间:2020-02-10 10:01:00

标签: node.js mongoose-schema

我想在NodeJ上构建一个应用程序,该应用程序将分析我将输入的一些信息。目前,我可以为一种模式编写代码。但是我不能嵌套。有人可以帮我吗预先感谢。

var provinceSchema = new mongoose.Schema({ 城市:字符串 });

在每个我想放置温度,人口的城市中。

3 个答案:

答案 0 :(得分:0)

您可以为城市创建一个架构,并添加一些必填字段,例如城市名称,温度,人口等,如下所示。

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 
     } 
})

答案 1 :(得分:0)

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 );

您可以通过这种方式制作

答案 2 :(得分:0)

您可以使用以下方法传递另一个架构:

var nestedSchema = new Schema({
age: {
        type: Number,
     }
});
var mySchema = new Schema({
  nestedField: nestedSchema

});
相关问题