Как правильно связать 2 модели в mongo nodeJs mongoose

есть 2 модели

order:

invId: { type: Number, default: 0, unique: true },
products: { type: Object, required: true }, // это объект продуктов { productId: productIdCount }
userId: { type: Schema.ObjectId, required: true },

product:

slug: { type: String, required: true, unique: true },
description: { type: String, required: true },
images: { type: Object, default: {} },

мне нужно составить массив

[
   {
      invId: 1424,
      price: 421,
      products: [
        {PRODUCT.IMAGES} // это product.images тех продуктов которые были в order.products
      ]
   }  
]

сейчас у меня выходит что-то такое:

const orders = await Order.find({}, 'price status products date url invId').sort({ date: -1 });

const productsId = [];

orders.forEach(({ products }) => {
    Object.keys(products).forEach((item) => {
        if (!productsId.find((idItem) => idItem === item)) {
            productsId.push(item);
        }
    });
});

const products = await Product.find({}, 'images slug').where('_id').in(productsId);

но в конце не знаю как соеденить products с order


Ответы (0 шт):