.aggregate()2个集合mongoose

时间:2017-10-04 15:39:36

标签: node.js mongodb mongoose

这是第一个架构:

void eliminarantes()
{
    int x;
    system("cls");
    printf("INGRESE UN NUMERO PARA ELIMINAR EL ANTERIOR");
    scanf("%d",&x);

    FD=CAB;
    QD=CAB;
    while (FD->info!=x&&FD->sig!=CAB){
        FD=FD->sig;
    }QD=FD->ant;
    if(FD->sig==CAB&&FD->info!=x){
        printf("\nEL NUMERO INGRESADO NO SE ENCUENTA EN LA LISTA");
    }else{
        if(FD->info==x){
            FD->ant=QD->ant;
            (QD->ant)->sig=FD;
            printf("\nELIMINADO %d",QD->info);
            free(Q);
        }
    }
    getch();
}

void visualizard(void)
{
    system("cls");
    if(CAB==NULL){
        printf("LISTA VACIA");
        getchar();
        return;
    }
    AUX=CAB;
    printf("LISTA:\n\n");
    while(AUX->sig!=CAB){
        printf("-> %d\n",AUX->info);
        AUX=AUX->sig;
    }
    if(AUX->sig==CAB){
        printf("-> %d\n",AUX->info);
    }
    getch();
}

void visualizari(void){
    system("cls");
    if(F==NULL){
        printf("LISTA VACIA");
        getchar();
        return;
    }
    AUX=F;
    printf("LISTA:\n\n");
    do{
        printf("-> %d\n",AUX->info);
        AUX=AUX->ant;
    }while(AUX->sig!=CAB);
    getch();
}

这是第二个架构:

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

创建一个文件柜:

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

创建专业版:

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

创建pro2:

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

创建Pro3:

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) =>  { });

此问题的目的如下:

如何从Clinique Toto 中获取一个类型的Secretaire Pro。

到目前为止,我试过这个:

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 Toto。

干杯,

0 个答案:

没有答案