繁体   English   中英

在猫鼬模式中添加对多个子文档的支持?

[英]Adding support for multiple subdocuments within a mongoose schema?

我刚开始使用猫鼬,并且为我的数据声明了一个架构。 我想知道如何将更多子文档声明为同一类型。 假设我要添加第二个或第三个位置子文档,我该怎么做?

var nest_schema = mongoose.Schema({
company_name: String,
website: String,
chain: Boolean,
date: {
    date_added: Date,
    date_lastupdated: { type: Date, default: Date.now},     
    },
rating: {
    yelp_rating: Number,
    yelp_reviews: Number,
    user_rating: Number,
    },
locations: {
    location_number: Number,
    location_name: String,
    address: String,
    phone: String, 
    hours: {
        Monday: String,
        Tuesday: String,
        Wednesday: String,
        Thursday: String,
        Friday: String,
        Saturday: String,
        Sunday: String,
        },
drinks: {
    drink: String,
        sizes: {
            small: Number,
            medium: Number,
            large: Number,
            }
        }
        }
});

定义另一个模式,并将其嵌入到主模式中:

var nest_schema = mongoose.Schema({
  company_name: String,
  website: String,
  chain: Boolean,
  date: {
    date_added: Date,
    date_lastupdated: { type: Date, default: Date.now},     
  },
  rating: {
    yelp_rating: Number,
    yelp_reviews: Number,
    user_rating: Number,
  },
  locations: [locationSchema],
  drinks: [drinkSchema]
});

var locationSchema = mongoose.Schema({
  number: Number,
  name: String,
  address: String,
  phone: String, 
  hours: {
    Monday: String,
    Tuesday: String,
    Wednesday: String,
    Thursday: String,
    Friday: String,
    Saturday: String,
    Sunday: String,
  }
});

您可能还希望将饮料做成自己的模式:

var drinksSchema = mongoose.Schema({ 
  drinks: {
    drink: String,
    sizes: {
      small: Number,
      medium: Number,
      large: Number,
    }
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM