MongoDB: как использовать Populate () в мангусте - PullRequest
0 голосов
/ 27 марта 2020

Я хочу получить все данные из коллекции itemListOrders с помощью populate (). Схема my ItemOrder приведена ниже:

 const itemOrderSchema = new mongoose.Schema(
{         
  customerId:type: mongoose.Schema.Types.ObjectId,           
  barId:type: mongoose.Schema.Types.ObjectId,     
  {timestamps: true}
);
const itemOrderModel = mongoose.model<ItemOrder & mongoose.Document>('itemOrders', itemOrderSchema); 

my itemListOrders * Коллекция 1009 * приведена ниже:

const itemDetailsSchema = new mongoose.Schema({    
cartId:{        
        type:mongoose.Schema.Types.ObjectId,        
        ref: 'itemOrders',        
        required:true,    
    },    
customerId:type: mongoose.Schema.Types.ObjectId,     
barId:type: mongoose.Schema.Types.ObjectId,    
alcoholId: String,   
alcoholName: String,    
uniqueCartKey: String,    
mixerList: [{        
    mixerId: String,        
    mixerName: String,    
}],    
modifierList: [{        
    modifierId: String,        
    modifierName: String,    
}]

}); const itemListOrderModel = mon goose .model ('itemListOrders', itemDetailsSchema);

моя часть запроса находится здесь:

  import itemOrderModel from '../models/itemOrder.model';
  import itemListOrderModel from '../models/itemListOrder.model';
  class ItemOrderService {    
       public itemOrder = itemOrderModel;    
       public itemListOrder = itemListOrderModel;    
       public async getOrderHistory(id: any) 
       {        
         return  await this.itemOrder.find({ customerId: id }).populate('itemListOrders');          
       }
  }
  export default ItemOrderService;

после выполнения этого данные из ItemOrder collection - только выборка. Но я хочу получить данные из itemListOrders collection тоже. Это лучший метод или я должен использовать $ lookup.i слышал, что $ lookup с влияет на производительность.

...