MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoose popolazione a due livelli utilizzando KeystoneJs

In mangusta puoi farlo in questo modo:

regionModel.find().populate("countries").exec(function(err, regions){

    if(err){
        throw err;
    }

    // Regions with populate countries
    cityModel.populate(regions, {
        path: 'countries.cities',
        select: '_id name'
    },function(err, regions) {

        //Regions with Countries and Populated Cities

    });

})

In realtà non ho familiarità con la sintassi trapezoidale, ma provo a convertirla in sintassi trapezoidale. Spero che funzioni, in caso contrario prova a convertire il codice sopra equivalente a keystonejs

keystone.list('Region').model.find()
        .populate('countries')
        .exec(function(err, regions){

            if(err){
                throw err;
            }

            keystone.list('City').model.find()
                    .populate('cities')
                    .exec(function(err, regions){
                        console.log(regions)
                    });

        });