Я пишу это приложение со средним стеком, и здесь у меня есть схема компании и схема транспортного средства для этой компании.
схема данных о компании
var CompanyDetailsSchema = new Schema({
companyName: String,
createdAt: { type: Date, default: Date.now },
...............
...............
});
module.exports = mongoose.model('Company-details', CompanyDetailsSchema);
схема транспортного средства
var VehicleDetailsSchema = new Schema({
companyId:{
type:mongoose.Schema.ObjectId,
ref: 'Company-details'
},
createdAt: { type: Date, default: Date.now },
....................
....................
});
module.exports = mongoose.model('Vehicle-details', VehicleDetailsSchema);
Мне нужно получить все данные о компании, даже когда я получу данные об автомобиле. как в запросе SQL join, для этого я использую этот $lookup
агрегат. этот пример кода возвращает все автомобили, но данные о компании пусты. как получить всю информацию о компании также в пн goose.
getVehciles:() =>{
return new Promise((resolve, reject) => {
VehicleDetailsSchema.aggregate([{
$lookup: {
from: "Company-details", // collection name in db
localField: "companyId",
foreignField: "_id",
as: "companyDetails"
}
}]).exec(function(err, vehicles){
if(err) {
reject(err)
} else {
resolve(vehicles)
}
});
})
},