Здравствуйте, я новичок в мангусте, и я пытался воссоздать ситуацию, когда человеку назначена смена.Я создал схемы
var shiftSchema = new mongoose.Schema({
date: Date,
location: String,
job: String,
event: String,
calltime: Number,
hours: Number
});
var Shift = mongoose.model("Shift", shiftSchema);
var memberSchema = new mongoose.Schema({
id: Number,
secondaryid: Number,
firstname: String,
lastname: String,
profile: String,
active: Boolean,
shifts: [{
type: mongoose.Schema.Types.ObjectId,
ref: "Shift"
}]
});
var Member = mongoose.model("Member", memberSchema);
и создал два члена, и каждый из них был переведен в смену.
//Members in DB
{ "_id" : ObjectId("5bb14deb574f2b0d627c7ae2"), "shifts" : [ ObjectId("5bb14deb574f2b0d627c7ae3") ], "id" : 1000001, "secondaryid" : 20000001, "firstname" : "Jane", "lastname" : "Doe", "profile" : "Admin", "active" : true, "__v" : 1 }
{ "_id" : ObjectId("5bb14e13f445e50d7ba0257d"), "shifts" : [ ObjectId("5bb14e9f19e7670d91478323") ], "id" : 1000000, "secondaryid" : 20000000, "firstname" : "John", "lastname" : "Doe", "profile" : "Admin", "active" : true, "__v" : 1 }
//Shifts in DB
{ "_id" : ObjectId("5bb14deb574f2b0d627c7ae3"), "date" : ISODate("1970-01-01T00:00:00Z"), "location" : "Office2", "job" : "Clerk2", "event" : "", "calltime" : 7, "hours" : 7, "__v" : 0 }
{ "_id" : ObjectId("5bb14e9f19e7670d91478323"), "date" : ISODate("1970-01-01T00:00:00Z"), "location" : "Office", "job" : "Clerk", "event" : "", "calltime" : 8, "hours" : 8, "__v" : 0 }
Проблема в том, что когда я запускаю следующее
Member.find({}).populate('shifts').exec(function(err, allMembers){
if(err){
console.log(err)
} else {
console.log(allMembers)
}
})
, я получаю ответ из БД, но у "сдвигов" есть пустые объекты
[ { shifts: [ [Object] ],
_id: 5bb14deb574f2b0d627c7ae2,
id: 1000001,
secondaryid: 20000001,
firstname: 'Jane',
lastname: 'Doe',
profile: 'Admin',
active: true,
__v: 1 },
{ shifts: [ [Object] ],
_id: 5bb14e13f445e50d7ba0257d,
id: 1000000,
secondaryid: 20000000,
firstname: 'John',
lastname: 'Doe',
profile: 'Admin',
active: true,
__v: 1 } ]
Чтоя делаю не так?или мне нужно циклически проходить через все и заполнять индивидуально?