У меня есть 2 документа: Locations
и Orders
Допустим, у меня есть 4 местоположения, и некоторые местоположения содержат заказы.
Я уже могу получить список мои местоположения с соответствующими заказами для каждого местоположения.
То, что я не могу сделать, - это включить количество заказов для каждого местоположения и общее пространство. (Каждый отдельный заказ уже содержит эту информацию)
Вот пн go Детская площадка с моим текущим кодом. Обратите внимание, что я хочу заполнить «сумму» и «сумму».
https://mongoplayground.net/p/FO_nYDOD1kn
Это то, что я использую для агрегирования моих данных:
db.Locations.aggregate([{
$lookup: {
from: "Orders",
let: {
loc_id: "$_id"
},
pipeline: [{
$match: {
$expr: {
$eq: ["$$loc_id", "$location"]
}
}
}, {
$project: {
_id: 0,
products: 1
}
}],
as: "orders"
}
}, {
$project: {
_id: 1,
name: 1,
orders: {
total: "insert total orders expanses in this order",
amount: "insert amount of orders for this location",
orders: "$orders"
}
}
}])
и структура одного заказа:
{
"_id": "5e17ab585eb7f11a971bce5c",
"location": "5e17a001f1e0220def7a2b5d",
"total": "1000"
}