TD1. Manhattan : noms + scores < 10
TD1
db.restaurants.find(
{"borough":"Manhattan","grades.score":{$lt:10}},
{"name":1,"grades.score":1,"_id":0}
)
Toutes les questions avec leur requête, prêtes à copier-coller.
db.restaurants.find(
{"borough":"Manhattan","grades.score":{$lt:10}},
{"name":1,"grades.score":1,"_id":0}
)
db.restaurants.find(
{"borough":"Manhattan","grades.score":{$lt:10,$not:{$gte:10}}},
{"name":1,"grades.score":1,"_id":0}
)
db.restaurants.find(
{"grades.grade":"C","grades.score":{$lt:30}},
{"name":1,"grades.grade":1,"grades.score":1}
)
db.restaurants.distinct("cuisine")
db.restaurants.distinct("grades.grade")
db.restaurants.countDocuments({cuisine:"French"})
db.restaurants.find({"address.street":"Central Avenue"}).count()
db.restaurants.countDocuments({"grades.score":{$gt:50}})
db.restaurants.find({}, {name:1,"address.building":1,"address.street":1,_id:0})
db.restaurants.find({name:"Burger King"},{name:1,borough:1,_id:0})
db.restaurants.find({"address.street":{$in:["Union Street","Union Square"]}})
db.restaurants.find({"address.coord.1":{$gt:40.90}})
db.restaurants.find({"grades.score":0,"grades.grade":"A"})
db.restaurants.createIndex({"address.coord.coordinates":"2dsphere"})
db.restaurants.find({
"address.coord":{$geoWithin:{$box:[[-74.2,40.2],[-74.5,40.5]]}}
})
db.restaurants.updateMany(
{"grades.grade":{$not:{$eq:"C"}}},
{$set:{comment:"Ok"}}
)
db.restaurants.deleteMany({"note":0})
db.restaurants.aggregate([
{$match:{borough:"Bronx"}},
{$group:{_id:"$cuisine",totalRestaurants:{$sum:1}}},
{$sort:{totalRestaurants:1}}
])
db.restaurants.find({borough:"Bronx"}).sort({name:1}).limit(5)
db.restaurants.aggregate([
{$group:{_id:"$address.zipcode",totalRestaurants:{$sum:1}}}
])
db.restaurants.aggregate([
{$unwind:"$grades"},
{$project:{name:1,"grades.date":1,"grades.grade":1}}
])
db.restaurants.updateOne(
{restaurant_id:"30075445"},
{$set:{"address.zipcode":"10463"}}
)
db.restaurants.deleteMany({borough:"Bronx",cuisine:"Bakery"})
db.restaurants.insertOne({"toto":"titi"})
db.restaurants.find({cuisine:"Soups"},{name:1,borough:1,_id:0})
db.restaurants.countDocuments({"grades.grade":"Z"})
db.restaurants.aggregate([
{$group:{_id:"$borough",total_restaurants:{$sum:1}}}
])
db.restaurants.aggregate([
{$group:{_id:"$cuisine",count:{$sum:1}}},
{$sort:{count:-1}},
{$limit:5}
])
db.restaurants.aggregate([
{$unwind:"$grades"},
{$group:{
_id:"$grades.grade",
count:{$sum:1},
avg_score:{$avg:"$grades.score"},
min_score:{$min:"$grades.score"},
max_score:{$max:"$grades.score"}
}}
])
db.restaurants.updateMany(
{grades:{$exists:false}},
{$set:{comment:"A vérifier"}}
)
db.restaurants.aggregate([
{$group:{_id:"$name",count:{$sum:1}}},
{$sort:{count:-1}},
{$limit:10}
])
db.restaurants.find({"address.coord":{$within:{$geometry:east}}}).count()
var aire={ "type":"Polygon","coordinates":[[
[-73.991000,40.72000],[-73.991599,40.72599],
[-73.991599,40.72999],[-73.991000,40.72000]
]]}
db.restaurants.find(
{"address.coord":{$within:{$geometry:aire}}},
{name:1,_id:0}
)
db.restaurants.aggregate([
{$unwind:"$grades"},
{$project:{year:{$year:"$grades.date"}}},
{$group:{_id:"$year"}},
{$sort:{_id:1}}
])
db.restaurants.aggregate([
{$unwind:"$grades"},
{$project:{year:{$year:"$grades.date"}}},
{$group:{_id:"$year",count:{$sum:1}}},
{$sort:{_id:1}}
])
db.restaurants.aggregate([
{$unwind:"$grades"},
{$project:{year:{$year:"$grades.date"},restaurant_id:"$restaurant_id"}},
{$group:{_id:{year:"$year"},restaurant_count:{$addToSet:"$restaurant_id"}}},
{$project:{year:"$_id.year",restaurant_count:{$size:"$restaurant_count"}}},
{$sort:{year:1}}
])
db.restaurants.aggregate([
{$unwind:"$grades"},
{$project:{year:{$year:"$grades.date"},restaurant_id:"$restaurant_id"}},
{$group:{_id:{year:"$year"},restaurant_count:{$addToSet:"$restaurant_id"}}},
{$project:{year:"$_id.year",restaurant_count:{$size:"$restaurant_count"}}},
{$sort:{restaurant_count:-1}},
{$limit:1}
])
db.restaurants.aggregate([
{$group:{_id:"$address.street",boroughs:{$addToSet:"$borough"}}},
{$project:{street:"$_id",boroughCount:{$size:"$boroughs"}}},
{$match:{boroughCount:{$gt:2}}},
{$project:{_id:0,street:1}}
])
db.restaurants.aggregate([
{$group:{_id:"$name",gradesSet:{$addToSet:"$grades.grade"},allGrades:{$push:"$grades"}}},
{$match:{gradesSet:{$eq:["A"]}}},
{$project:{_id:0,restaurant_name:"$_id",grades:"$allGrades"}}
])
db.world.countDocuments({})
db.world.distinct("Continent")
db.world.find({ Name: "France" })
db.world.find(
{ Continent: "Europe", Population: { $lt: 100000 } },
{ Name: 1, Population: 1, _id: 0 }
)
db.world.find(
{ Continent: "Oceania", IndepYear: { $exists: true, $ne: null } },
{ Name: 1, IndepYear: 1, _id: 0 }
)
db.world.aggregate([
{ $group: { _id: "$Continent", surface: { $sum: "$SurfaceArea" } } },
{ $sort: { surface: -1 } },
{ $limit: 1 }
])
db.world.aggregate([
{ $group: {
_id: "$Continent",
nbPays: { $sum: 1 },
popTotale: { $sum: "$Population" },
nbIndep: { $sum: { $cond: [ { $ifNull: ["$IndepYear", false] }, 1, 0 ] } }
}},
{ $sort: { _id: 1 } }
])
db.world.aggregate([
{ $match: { Name: "France" } },
{ $unwind: "$Cities" },
{ $group: { _id: null, populationVilles: { $sum: "$Cities.Population" } } }
])
db.world.aggregate([
{ $match: { Name: "France" } },
{ $unwind: "$Cities" },
{ $match: { "Cities.Capital": true } },
{ $project: { _id: 0, City: "$Cities.Name", Population: "$Cities.Population" } }
])
db.world.aggregate([
{ $unwind: "$Languages" },
{ $group: { _id: "$Languages.Language", pays: { $addToSet: "$Code" } } },
{ $project: { _id: 0, Language: "$_id", nbPays: { $size: "$pays" } } },
{ $match: { nbPays: { $gt: 15 } } },
{ $sort: { nbPays: -1, Language: 1 } }
])
db.world.aggregate([
{ $project: { Name: 1, cityCount: { $size: { $ifNull: ["$Cities", []] } } } },
{ $match: { cityCount: { $gte: 100 } } },
{ $sort: { cityCount: -1, Name: 1 } }
])
db.world.aggregate([
{ $unwind: "$Cities" },
{ $project: { _id: 0, Country: "$Name", City: "$Cities.Name", Population: "$Cities.Population" } },
{ $sort: { Population: -1 } },
{ $limit: 10 }
])
db.world.find(
{ Languages: { $elemMatch: { Language: "French", IsOfficial: true } } },
{ _id: 0, Name: 1 }
)
db.world.aggregate([
{ $project: { Name: 1, langCount: { $size: { $ifNull: ["$Languages", []] } } } },
{ $sort: { langCount: -1, Name: 1 } },
{ $limit: 5 }
])