Вложенный массив объектов в мангуста Схема - PullRequest
0 голосов
/ 08 января 2019

Я создаю схему данных ученика, в которой ученик содержит оценки каждого сема. Я хочу создать массив sem, в котором Sem_Schema должен быть объектом ref. Используя Sem_Schema, я хочу создать массив sem объекта Sem_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]
}
})



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: \ Project \ WEB \ Newpro \ NodeJs \ node_modules \ мангуст \ Lib \ schema.js: 398
throw new TypeError ('Неверное значение для пути массива схемы ' + prefix + key + ''); ^

TypeError: Неверное значение для пути к массиву схемы Marks.Sem в Schema.add (F: \ Project \ WEB \ Newpro \ NodeJs \ node_modules \ мангуст \ Lib \ schema.js: 398: 13) на Schema.add (F: \ Project \ WEB \ Newpro \ NodeJs \ node_modules \ мангуст \ Lib \ schema.js: 407: 14) на новой схеме (F: \ Project \ WEB \ Newpro \ NodeJs \ node_modules \ мангуст \ Lib \ schema.js: 114: 10) на объекте. (F: \ Project \ WEB \ NewPro \ NodeJs \ Models \ dept.js: 3: 27) в Module._compile (внутренняя / modules / cjs / loader.js: 688: 30) в Object.Module._extensions..js (внутренний / modules / cjs / loader.js: 699: 10) в Module.load (внутренний / modules / cjs / loader.js: 598: 32) в tryModuleLoad (внутренняя / modules / cjs / loader.js: 537: 12) в Function.Module._load (внутренняя / modules / cjs / loader.js: 529: 3) в Module.require (внутренний / modules / cjs / loader.js: 636: 17) по требованию (внутренняя / modules / cjs / helpers.js: 20: 18) в объекте. (F: \ Project \ WEB \ NewPro \ NodeJs \ Router \ college.js: 3: 14) в Module._compile (внутренний / modules / cjs / loader.js: 688: 30) в Object.Module._extensions..js (внутренний / modules / cjs / loader.js: 699: 10) в Module.load (внутренний / modules / cjs / loader.js: 598: 32) в tryModuleLoad (внутренний / modules / cjs / loader.js: 537: 12)

1 Ответ

0 голосов
/ 09 января 2019

объявите вашу Sem_Schema перед Student_Data_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]
}
})
...