簡體   English   中英

在貓鼬模式中嵌套對象數組

[英]Nesting array of objects in mongoose Schema

我正在創建一個學生數據模式,其中一個學生包含每個學期的分數。 我想創建一個Sem數組,其中Sem_Schema必須是ref對象。 通過使用Sem_Schema,我想創建Sem_Schema對象的sem數組。 請幫忙。

var Student_Data_Schema = new mongoose.Schema({
name:{type:String,default:"Rahul Kandiboina", required: true},
reg_no:{type:String,default:"315175711057", required: true},
dob:{type:String,default:"july 3 1998"},
BG:{type:String,default:"o +ve", required: true},
ctg:{type:String,default:"B", required: true},
caste:{type:String,default:"BC", required: true},
EAMCET_Rank:{type:String,default:"29000", required: true},
ECET_Rank:{type:String,default:"123", required: true},
SSC_M:{type:String,default:"9.3", required: true},
Inter_M:{type:String,default:"960", required: true},
DEP_M:{type:String,default:"870", required: true},
BTECH_AGG:{type:String,default:"7.5", required: true},
GRE:{type:String,default:"60", required: true},
GATE:{type:String,default:"120", required: true},
CAT:{type:String,default:"10000", required: true},
TOEFL:{type:String,default:"100", required: true},
E_MAIL:{type:String,default:"rahulkandiboina9@gmail.com", required: 
true},
// Father :{},
// Mother :{},
// Bro :{},
// Sis :{},
Pre_Add :{
            D_no:{type:String},
            Street:{type:String},
            village:{type:String},
            town:{type:String},
            District:{type:String},
            State:{type:String},
            Pin:{type:String}
            },
Per_Add:{
    D_no:{type:String},
    Street:{type:String},
    village:{type:String},
    town:{type:String},
    District:{type:String},
    State:{type:String},
    Pin:{type:String}
},
Marks:{
    CGPA:{type:Number},
    B_LOGS:{type:Number},
    Sem :[Sem_Schema]
}
})



var Sem_Schema =  new mongoose.Schema({
SGPA :{type:String},
CGPA :{type:String},
B_Logs :{type:String},
Sem_Att :{type:String},
T_Sess :{type:String}
})

我想將Sem_Schema嵌套到Sem數組中,但錯誤如下

F:\\項目\\ WEB \\展示新品推薦網上\\的NodeJS \\ node_modules \\貓鼬\\ LIB \\ schema.js:398
拋出新的TypeError('模式數組路徑的無效值' + prefix + key + ' '); ^

TypeError:Schema.add(F:\\ Project)上Schema.add(F:\\ Project \\ WEB \\ NewPro \\ NodeJs \\ node_modules \\ mongoose \\ lib \\ schema.js:398:13)的模式數組路徑Marks.Sem值無效\\ WEB \\ NewPro \\ NodeJs \\ node_modules \\ mongoose \\ lib \\ schema.js:407:14)在新架構(F:\\ Project \\ WEB \\ NewPro \\ NodeJs \\ node_modules \\ mongoose \\ lib \\ schema.js:114:10)在對象。 (F:\\ Project \\ WEB \\ NewPro \\ NodeJs \\ Models \\ dept.js:3:27)位於Object.Module._extensions..js的Module._compile(internal / modules / cjs / loader.js:688:30) (internal / modules / cjs / loader.js:699:10)在try.ModuleLoad(internal / modules / cjs / loader.js:537:12)在Module.load(internal / modules / cjs / loader.js:598:32) )於Function.Module._load(internal / modules / cjs / loader.js:529:3)於Module.require(internal / modules / cjs / loader.js:636:17)於require(internal / modules / cjs / helpers.js:20:18)。 (F:\\ Project \\ WEB \\ NewPro \\ NodeJs \\ Router \\ college.js:3:14)位於Object.Module._extensions..js的Module._compile(internal / modules / cjs / loader.js:688:30) (internal / modules / cjs / loader.js:699:10)在try.ModuleLoad(internal / modules / cjs / loader.js:537:12)在Module.load(internal / modules / cjs / loader.js:598:32) )

像這樣在Student_Data_Schema之前聲明您的Sem_Schema。 這里發生的是,當您在架構后引用此對象時,它不知道這是什么導致Sem_schema。 因此將代碼更改為

var Sem_Schema =  new mongoose.Schema({
SGPA :{type:String},
CGPA :{type:String},
B_Logs :{type:String},
Sem_Att :{type:String},
T_Sess :{type:String}
})

// after this add the next schema

var Student_Data_Schema = new mongoose.Schema({
name:{type:String,default:"Rahul Kandiboina", required: true},
reg_no:{type:String,default:"315175711057", required: true},
dob:{type:String,default:"july 3 1998"},
BG:{type:String,default:"o +ve", required: true},
ctg:{type:String,default:"B", required: true},
caste:{type:String,default:"BC", required: true},
EAMCET_Rank:{type:String,default:"29000", required: true},
ECET_Rank:{type:String,default:"123", required: true},
SSC_M:{type:String,default:"9.3", required: true},
Inter_M:{type:String,default:"960", required: true},
DEP_M:{type:String,default:"870", required: true},
BTECH_AGG:{type:String,default:"7.5", required: true},
GRE:{type:String,default:"60", required: true},
GATE:{type:String,default:"120", required: true},
CAT:{type:String,default:"10000", required: true},
TOEFL:{type:String,default:"100", required: true},
E_MAIL:{type:String,default:"rahulkandiboina9@gmail.com", required: 
true},
// Father :{},
// Mother :{},
// Bro :{},
// Sis :{},
Pre_Add :{
            D_no:{type:String},
            Street:{type:String},
            village:{type:String},
            town:{type:String},
            District:{type:String},
            State:{type:String},
            Pin:{type:String}
            },
Per_Add:{
    D_no:{type:String},
    Street:{type:String},
    village:{type:String},
    town:{type:String},
    District:{type:String},
    State:{type:String},
    Pin:{type:String}
},
Marks:{
    CGPA:{type:Number},
    B_LOGS:{type:Number},
    Sem :[Sem_Schema]
}
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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