Mon God B Aggregate
Mon God B Aggregate
switched to db shruti_college
shruti_college> db.createCollection('item')
{ ok: 1 }
shruti_college>
db.item.insertOne({cname:'Shruti',pname:'Macbook Air
M2',qun:1,price:75000})
{
acknowledged: true,
insertedId: ObjectId("6538ca960f355325123d0a28")
}
shruti_college>
db.item.insertOne({cname:'Aniket',pname:'DELL
Gaming',qun:1,price:80000})
{
acknowledged: true,
insertedId: ObjectId("6538caba0f355325123d0a29")
}
shruti_college>
db.item.insertMany([{cname:'Aniket',pname:'Keyboard',qun:
1,price:1000},
{cname:'Aniket',pname:'Mouse',qun:1,price:500},
{cname:'Pratiksha',pname:'ASUS
Gaming',qun:1,price:83000},{cname:'Prajval',pname:'HP
Professional',qun:1,price:90000},
{cname:'Shruti',pname:'Headphones',qun:1,price:1200}])
{
acknowledged: true,
insertedIds: {
'0': ObjectId("6538cb740f355325123d0a2a"),
'1': ObjectId("6538cb740f355325123d0a2b"),
'2': ObjectId("6538cb740f355325123d0a2c"),
'3': ObjectId("6538cb740f355325123d0a2d"),
'4': ObjectId("6538cb740f355325123d0a2e")
}
}
shruti_college>
db.item.insertMany([{cname:'Prajval',pname:'Keyboard',qun
:4,price:1250},
{cname:'Prajval',pname:'Mouse',qun:4,price:800},
{cname:'Pratiksha',pname:'Bluetooth
Speaker',qun:2,price:8500},
{cname:'Pratiksha',pname:'Macbook Air
M1',qun:10,price:90000},
{cname:'Aniket',pname:'Headphones',qun:10,price:1200}])
{
acknowledged: true,
insertedIds: {
'0': ObjectId("6538cc790f355325123d0a2f"),
'1': ObjectId("6538cc790f355325123d0a30"),
'2': ObjectId("6538cc790f355325123d0a31"),
'3': ObjectId("6538cc790f355325123d0a32"),
'4': ObjectId("6538cc790f355325123d0a33")
}
}
shruti_college> db.item.find()
[
{
_id: ObjectId("6538ca960f355325123d0a28"),
cname: 'Shruti',
pname: 'Macbook Air M2',
qun: 1,
price: 75000
},
{
_id: ObjectId("6538caba0f355325123d0a29"),
cname: 'Aniket',
pname: 'DELL Gaming',
qun: 1,
price: 80000
},
{
_id: ObjectId("6538cb740f355325123d0a2a"),
cname: 'Aniket',
pname: 'Keyboard',
qun: 1,
price: 1000
},
{
_id: ObjectId("6538cb740f355325123d0a2b"),
cname: 'Aniket',
pname: 'Mouse',
qun: 1,
price: 500
},
{
_id: ObjectId("6538cb740f355325123d0a2c"),
cname: 'Pratiksha',
pname: 'ASUS Gaming',
qun: 1,
price: 83000
},
{
_id: ObjectId("6538cb740f355325123d0a2d"),
cname: 'Prajval',
pname: 'HP Professional',
qun: 1,
price: 90000
},
{
_id: ObjectId("6538cb740f355325123d0a2e"),
cname: 'Shruti',
pname: 'Headphones',
qun: 1,
price: 1200
},
{
_id: ObjectId("6538cc790f355325123d0a2f"),
cname: 'Prajval',
pname: 'Keyboard',
qun: 4,
price: 1250
},
{
_id: ObjectId("6538cc790f355325123d0a30"),
cname: 'Prajval',
pname: 'Mouse',
qun: 4,
price: 800
},
{
_id: ObjectId("6538cc790f355325123d0a31"),
cname: 'Pratiksha',
pname: 'Bluetooth Speaker',
qun: 2,
price: 8500
},
{
_id: ObjectId("6538cc790f355325123d0a32"),
cname: 'Pratiksha',
pname: 'Macbook Air M1',
qun: 10,
price: 90000
},
{
_id: ObjectId("6538cc790f355325123d0a33"),
cname: 'Aniket',
pname: 'Headphones',
qun: 10,
price: 1200
}
]
List all items whose price is greater than 45000
shruti_college> db.item.aggregate([{$match:{price:
{$gt:45000}}}])
[
{
_id: ObjectId("6538ca960f355325123d0a28"),
cname: 'Shruti',
pname: 'Macbook Air M2',
qun: 1,
price: 75000
},
{
_id: ObjectId("6538caba0f355325123d0a29"),
cname: 'Aniket',
pname: 'DELL Gaming',
qun: 1,
price: 80000
},
{
_id: ObjectId("6538cb740f355325123d0a2c"),
cname: 'Pratiksha',
pname: 'ASUS Gaming',
qun: 1,
price: 83000
},
{
_id: ObjectId("6538cb740f355325123d0a2d"),
cname: 'Prajval',
pname: 'HP Professional',
qun: 1,
price: 90000
},
{
_id: ObjectId("6538cc790f355325123d0a32"),
cname: 'Pratiksha',
pname: 'Macbook Air M1',
qun: 10,
price: 90000
}
]
shruti_college> db.item.aggregate([{$sort:{qun:1}}])
[
{
_id: ObjectId("6538ca960f355325123d0a28"),
cname: 'Shruti',
pname: 'Macbook Air M2',
qun: 1,
price: 75000
},
{
_id: ObjectId("6538caba0f355325123d0a29"),
cname: 'Aniket',
pname: 'DELL Gaming',
qun: 1,
price: 80000
},
{
_id: ObjectId("6538cb740f355325123d0a2a"),
cname: 'Aniket',
pname: 'Keyboard',
qun: 1,
price: 1000
},
{
_id: ObjectId("6538cb740f355325123d0a2b"),
cname: 'Aniket',
pname: 'Mouse',
qun: 1,
price: 500
},
{
_id: ObjectId("6538cb740f355325123d0a2c"),
cname: 'Pratiksha',
pname: 'ASUS Gaming',
qun: 1,
price: 83000
},
{
_id: ObjectId("6538cb740f355325123d0a2d"),
cname: 'Prajval',
pname: 'HP Professional',
qun: 1,
price: 90000
},
{
_id: ObjectId("6538cb740f355325123d0a2e"),
cname: 'Shruti',
pname: 'Headphones',
qun: 1,
price: 1200
},
{
_id: ObjectId("6538cc790f355325123d0a31"),
cname: 'Pratiksha',
pname: 'Bluetooth Speaker',
qun: 2,
price: 8500
},
{
_id: ObjectId("6538cc790f355325123d0a2f"),
cname: 'Prajval',
pname: 'Keyboard',
qun: 4,
price: 1250
},
{
_id: ObjectId("6538cc790f355325123d0a30"),
cname: 'Prajval',
pname: 'Mouse',
qun: 4,
price: 800
},
{
_id: ObjectId("6538cc790f355325123d0a32"),
cname: 'Pratiksha',
pname: 'Macbook Air M1',
qun: 10,
price: 90000
},
{
_id: ObjectId("6538cc790f355325123d0a33"),
cname: 'Aniket',
pname: 'Headphones',
qun: 10,
price: 1200
}
]
shruti_college> db.item.createIndex({quantity:1})
quantity_1
shruti_college> db.item.getIndexes()
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { quantity: 1 }, name: 'quantity_1' }
]
shruti_college> db.item.createIndex({'customer':1})
customer_1
shruti_college> db.item.getIndexes()
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { quantity: 1 }, name: 'quantity_1' },
{ v: 2, key: { customer: 1 }, name: 'customer_1' }
]
shruti_college> db.item.dropIndex({'customer':1})
{ nIndexesWas: 3, ok: 1 }
shruti_college> db.item.getIndexes()
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { quantity: 1 }, name: 'quantity_1' }
]
shruti_college> db.item.aggregate([
... {
... $group: {
... _id: "$pname",
... totalQuantitySold: { $sum: "$qun" }
... }
... }
... ])
[
{ _id: 'Bluetooth Speaker', totalQuantitySold: 2 },
{ _id: 'HP Professional', totalQuantitySold: 1 },
{ _id: 'Keyboard', totalQuantitySold: 5 },
{ _id: 'ASUS Gaming', totalQuantitySold: 1 },
{ _id: 'Macbook Air M1', totalQuantitySold: 10 },
{ _id: 'Mouse', totalQuantitySold: 5 },
{ _id: 'Macbook Air M2', totalQuantitySold: 1 },
{ _id: 'DELL Gaming', totalQuantitySold: 1 },
{ _id: 'Headphones', totalQuantitySold: 11 }
]
shruti_college> db.item.aggregate([
... {
... $group: {
... _id: null,
... minPrice: { $min: "$price" }
... }
... }
... ])
[ { _id: null, minPrice: 500 } ]
shruti_college>
Count the number of unique customers.
shruti_college> db.item.aggregate([
... {
... $group: {
... _id: null,
... customerCount: { $addToSet: "$cname" }
... },
... },
... {
... $project: {
... customerCount: { $size: "$customerCount" }
... }
... }
... ])
[ { _id: null, customerCount: 4 } ]
shruti_college> db.item.aggregate([
... {
... $group: {
... _id: "$cname",
... averageQuantitySold: { $avg: "$qun" }
... }
... }
... ])
[
{ _id: 'Aniket', averageQuantitySold: 3.25 },
{ _id: 'Pratiksha', averageQuantitySold:
4.333333333333333 },
{ _id: 'Shruti', averageQuantitySold: 1 },
{ _id: 'Prajval', averageQuantitySold: 3 }
]
Calculate the total sales revenue for a specific
customer.
shruti_college> db.item.aggregate([
... {
... $match: { cname: "Shruti" }
... },
... {
... $group: {
... _id: null,
... totalSales: { $sum: { $multiply: ["$qun",
"$price"] } }
... }
... }
... ])
[ { _id: null, totalSales: 76200 } ]
shruti_college> db.item.aggregate([
... {
... $group: {
... _id: "$cname",
... productCount: { $sum: 1 }
... }
... }
... ])
[
{ _id: 'Aniket', productCount: 4 },
{ _id: 'Pratiksha', productCount: 3 },
{ _id: 'Prajval', productCount: 3 },
{ _id: 'Shruti', productCount: 2 }
]