Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 1x 1x 1x | import OrdersModel from "../../models/Orders.js"; export default async function getLatestOrders(limit = 10) { try { const latestOrders = await OrdersModel.aggregate([ { $sort: { createdAt: -1 } }, { $limit: +limit }, { $lookup: { from: "users", localField: "userId", foreignField: "_id", as: "user", pipeline: [{ $project: { userEmail: 1, avatar: 1 } }] } }, { $project: { totalPrice: "$totalPrice", products: "$products", state: "$state", expectedDeliveryDate: "$expectedDeliveryDate", deliveryPrice: "$deliveryPrice", createdAt: "$createdAt", userData: { $arrayElemAt: ["$user", 0] } } } ]); return latestOrders; } catch (error) { console.log(error); return []; } } |