.aggregate()2藏品mongoose

这是第一个模式:

const ProSchema = new Schema({ _id: { type: Schema.Types.ObjectId }, Cv: {Fonction: {Pro: {type: Boolean,}, Secretaire: {type: Boolean} } }) 

这是第二个Schema:

 const CabSchema = new Schema({ Pro: [{ type: Schema.Types.ObjectId, ref: 'ProSchema' }], InfoCab: { Nom: {type: String} }); 

创build一个内阁:

 var cabinet = new cabModel({ _id: new mongoose.Types.ObjectId(), InfoCab:{Nom: "Clinique Toto"} //This is the Name of the Cabinet }); cabinet.save((err, cabinet) => { 

创buildpro1:

 var pro1 = new proModel({ _id: new mongoose.Types.ObjectId(), Nom: 'ProTITI', Cv:{ Fonction: { Secretaire: false}} }); pro1.Cabinets.push(cabinet._id); pro1.save((err, cabinet) => { }); 

创buildpro2:

 var pro2 = new proModel({ _id: new mongoose.Types.ObjectId(), Nom: 'Pro_TOT', Cv:{ Fonction: { Secretaire: true}} }); pro2.Cabinets.push(cabinet._id); pro2.save((err, cabinet) => { }); 

创buildPro3:

 var pro3 = new proModel({ _id: new mongoose.Types.ObjectId(), Nom: 'Josianne', Cv:{ Fonction: { Secretaire: true}} }); pro3.Cabinets.push(cabinet._id); pro3.save((err, cabinet) => { }); cabinet.Pro.push(pro1, pro2, pro3); cabinet.save(); 

这个问题的目的如下:

如何从Clinique托托取得秘书types的临

到目前为止,我尝试了这个:

 db.Pro.aggregate([ { $match: { Cv: { Fonction: { Secretaire: true } } } }, { $lookup: { from: "Cab", localField:"InfoCab.Nom", foreignField: "_id", as: "PK" } } 

但我坚持最后一点:从倩碧托托。

干杯,