2017-12-30 30 views
0

Ich Mungo für meine NodeJS app, ich will von 3 bis Tiefe füllenTriple-Tief Bevölkerung - Mongoose

Ein Dienst hat ein Auto und ein Auto hat ein Modell und ein Modell verfügt über eine Marke

Service.find({removed:false,client:req.client_id}) 
     .populate({path:'car',model:"ClientCar",populate:{path:"model",model:"Model"}}) 
     .exec(function(err,services) 
     {}) 

wenn Marke in der zweiten bevöl Zugabe versagt es

Service.find({removed:false,client:req.client_id}) 
     .populate({path:'car',model:"ClientCar",populate:{path:"model",model:"Model",populate{path:"brand",model:"Brand"}}) 
     .exec(function(err,services) 
     {}) 

Antwort

2

versuchen, diese stattdessen:

Service.find({removed:false, 
client:req.client_id}) 
    .populate({ 
     path:'car', 
     model:"ClientCar", 
     populate:[{ 
      path:"model", 
      model:"Model" 
     }, 
     { 
      path: "model.brand", 
      model:"Brand" 
     }] 
) 
    .exec(function(err,services) 
    {}); 

um klar zu sein, ich meine, versuchen Sie es, weil es besser ist. Ich bin ziemlich sicher, das einzige, was aus dem Code zu verhindern richtig funktioniert ist die fehlt: nach dem dritten bevöl

Service.find({removed:false,client:req.client_id}) 
    .populate({path:'car',model:"ClientCar",populate:{path:"model",model:"Model", 
populate{path:"brand", //here, should be populate: {}, not populate{} 
model:"Brand"}}) 
    .exec(function(err,services) 
    {}) 

Hinweis: Sie sollten nicht Codezeilen lassen, die lange, sie hart sind, lesen durch