簡體   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