![](/img/trans.png)
[英]How do I create a oneToMany relationship between two Mongoose schemas?
[英]Relationship between two schemas in mongodb using mongoose
我有兩個模式,第一個是countrySchema,它具有國家/地區ID和名稱:以下是模式代碼:
var countrySchema = new Schema({
country_id:String,
country_name:String
});
var countryArray = mongoose.model('countryArray',countrySchema);
另一個模式是stateSchema,它具有狀態ID和狀態名稱:以下是模式代碼:
var Schema = mongoose.Schema;
var stateSchema = new Schema({
state_id:String,
state_name:String,
});
var states = mongoose.model('states',stateSchema);
現在,在stateSchema中,我想要有state_id,country_id,這實際上是來自countrySchema和state_name。 我該怎么做呢 ?
您可以如下添加country_id,並在狀態模塊中使用國家/地區的ObjectId引用國家/地區模塊。 然后,您必須使用由貓鼬為特定國家/地區創建的objectId作為stateSchema的country_id。
countrySchema
var countrySchema = new Schema({
_id:Schema.Types.ObjectId,
country_id:String,
country_name:String
});
var countryArray = mongoose.model('countryArray',countrySchema);
stateSchema
var stateSchema = new Schema({
_id:Schema.Types.ObjectId,
state_id:String,
country_id: {Schema.Types.ObjectId, ref:'countryArray'},
state_name:String,
});
試試這個
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var countrySchema = new Schema({
country_id:String,
country_name:String
});
var countryArray = mongoose.model('countryArray',countrySchema);
var stateSchema = new Schema({
state_id:String,
state_name:String,
country: { type: Schema.Types.ObjectId, ref: 'countryArray' },
});
var states = mongoose.model('states',stateSchema);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.