Project 2
1) db.order.aggregate([
{
$group{
"_id":101,
avgValue:{$avg:"$total"}
}
}
]);
db.order.aggregate([
{
$group{
"_id":102,
avgValue:{$avg:"$total"}
}
}
]);
db.order.aggregate([
{
$group{
"_id":103,
avgValue:{$avg:"$total"}
}
}
]);
---------------------------------------
2) db.order.aggregate([
{
$match: {
createdAt: { $gte: new Date((new Date().getFullYear()-2), new Date().getMonth(), new Date().getDate()) }
}
},
{
$lookup: {
from: "customer",
localField: "customer_id",
foreignField: "_id",
as: "customer"
}
},
{
$unwind: "$customer"
},
{
$group: {
_id: "$customer._id",
totalValue: { $sum: "$total" }
}
},
{
$sort: { totalValue: -1 }
},
{
$limit: 10
}
]);
---------------------------------------
3) db.order.aggregate([
{
$match: {
createdAt: { $gte: new Date((new Date().getFullYear()), new Date().getMonth(), new Date().getDate()) }
}
},
{
$group: {
_id: null,
totalValue: { $sum: "$total" }
}
}
]);
---------------------------------------
4) db.customer.aggregate([
{
$group: {
_id: "$city",
count: { $sum: 1 }
}
}
]);
---------------------------------------
5) db.order.aggregate([
{
$lookup: {
from: "seller",
localField: "seller_id",
foreignField: "_id",
as: "seller"
}
},
{
$unwind: "$seller"
},
{
$match: {
"customer.city": "$seller.city"
}
},
{
$group: {
_id: "$seller._id",
count: { $sum: 1 }
}
},
{
$sort: { count: -1 }
}
]);