![](/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.