.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" } }
但我坚持最后一点:从倩碧托托。
干杯,