2017-10-27 2 views
0

Ich habe zwei Sammlungen Benutzer und Taxdetails, ich möchte Name und Telefonnummer von Benutzer und Zahlungsdetails von Taxdetails im Auftrag von derselben id in beiden Sammlungen ich tue dies:kommen zwei Sammlungen in Mungo und erhalten Daten von beiden

User 
    .find() 
    .exec(function(err, userDetails) { 
     if(err){ 
      console.log("error in user collection"); 
      res 
       .status(400) 
       .json({ 'message':'error','success':false }); 
     }else{ 
      var userid = userDetails.map(function(obj) { 
       return obj._id; 
       }); 
       Taxdetail 
        .find() 
        .exec({ user_id : { $in : userid } },function(err, requests) { 
         if(err){ 
          console.log("error in TaxDetails collection"); 
          res 
           .status(400) 
           .json({ 'message':'error','success':false }); 
         }else{ 
          console.log("Success, got some data"); 
          res 
           .status(200) 
           .json(requests); 
         }      
        }); 
     } 
    }); 

plz help me ich bin JS und Mungo zum Knoten. Danke im Voraus.

Antwort

0

Sie können Verwendung referenzierten Schema in Ihrem Benutzer-Schema wollen und es dann wie folgt füllen:

var taxDetailSchema = new Schema({ 
    title: String 
}); 

var taxDetail = mongoose.model('taxDetail', taxDetailSchema); 

var userSchema = new Schema({ 
    name: String, 
    taxDetails: [{ type: Schema.Types.ObjectId, ref: 'taxDetail' }] 
}); 

Ihre Abfrage würde wie folgt aussehen:

User 
.find() 
.populate('taxDetails') 
.exec(function(err, users) { 

}); 

Die users soll wie folgt aussehen:

[ 
    { 
     name: 'Some Name', 
     taxDetails: [ 
      { title: 'Some Title' }, 
      { title: 'Some other Title' } 
     ] 
    } 
] 

Mongoose Dokumentation here

Ich hoffe, es hilft

Verwandte Themen