簡體   English   中英

使用mongoose在mongodb中的兩個模式之間的關系

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM