From 5b71046c1aa32d8704f6d4163f7c040e62028d1c Mon Sep 17 00:00:00 2001 From: mblason Date: Thu, 14 Jul 2022 13:35:24 +0200 Subject: [PATCH] lab done --- lab-ironbeers@2.0.0 | 0 node | 0 queries.js | 107 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 lab-ironbeers@2.0.0 create mode 100644 node diff --git a/lab-ironbeers@2.0.0 b/lab-ironbeers@2.0.0 new file mode 100644 index 0000000..e69de29 diff --git a/node b/node new file mode 100644 index 0000000..e69de29 diff --git a/queries.js b/queries.js index 99f09c5..c2aa81e 100644 --- a/queries.js +++ b/queries.js @@ -1,7 +1,110 @@ - +// 1. EMPLOYEES print('Employees') // List all the employees. print('1. List all Employees') -db.employees.find({}).forEach(printjsononeline) \ No newline at end of file +//db.employees.find({}).forEach(printjsononeline) +db.employees.find({},{name: 1}) + +//Find the employee with whose name is Steve. +db.employees.find({"name":"Steve"}) + +//Find all employees whose age is greater than 30. +db.employees.find({"age": {$gt: 30}}) + +//Find the employee whose extension is 2143. +db.employees.find({"phone.ext": "2143"}) + +//Find all employees that are over 30. +db.employees.find({"age": {$gte: 30}}) + +//Find all employees that are less than or equal to 30. +db.employees.find({"age": {$lte: 30}}) + +//Find all the employees whose favorite food is pizza. +db.employees.find({"favorites.food": "pizza"}) + +//Change Willy’s personal phone number to "93-123-45-67". +db.employees.updateOne({"name": "Willy"}, {$set: "phone.personal": "93-123-45-67"}) + +//Change Bob’s privilege to normal user. +db.employees.updateOne({"name": "Bob"}, {$set: {"privileges": "user"}}) + +//Find all employees whose favorite artist is equal to Picasso. +db.employees.find({"favorites.artist" : "Picasso"}) + +//Delete the user John. +db.employees.deleteOne({"name": "John"}) + +// 2. RESTAURANTS + +//List all the restaurants. +db.restaurants.find({},{name: 1}) + +//Find all the restaurants and display only the fields restaurant_id, name, borough and cuisine. +db.restaurants.find({},{_id: 1, name: 1, borough: 1, cuisine: 1}) + +//Find all the restaurants and display only the fields restaurant_id, name, borough and zip code. +db.restaurants.find({},{_id: 1, name: 1, borough: 1, "address.zipcode": 1}) + +//Find the restaurants which are in the borough Bronx. +db.restaurants.find({"borough": "Bronx"}) + +//Find the restaurants which are in the borough Brooklyn with Steak cuisine. +db.restaurants.find({ $and: [{"borough": "Brooklyn"}, {"cuisine": "Steak"}]}) + +//Find the restaurants which have achieved a score bigger than 90. +db.restaurants.find({"grades.score": {$gt: 90}}) + +//Find the restaurants that do not prepare any Bakery cuisine and with a grade score equal or bigger than 70. +db.restaurants.find({ $and: [{"cuisine": {$ne: "Bakery"}}, {"grades.score": {$gte: 70}}]}) + +//Find the restaurants which do not prepare any Chinese cuisine and have achieved a grade point A which do not belong to the borough Manhattan. +db.restaurants.find({ $and: [{"cuisine": {$ne: "Chinese"}}, {"grades.grade": "A"}, {"borough": {$ne: "Manhattan"}}]}) + +//Update restaurants with 'American ' cuisine to 'American' (without the space!!!) +db.restaurants.updateMany({"cuisine": "American "}, {$set: {"cuisine":"American"}}) + +//Update Morris Park Bake Shop address street to Calle falsa 123. +db.restaurants.updateOne({"name": "Morris Park Bake Shop"}, {$set: {"address.street": "Calle falsa 123"}}) + +//Delete all the restaurants with address zipcode 10466. +db.restaurants.deleteMany({"address.zipcode": "10466"}) + +// 3. COMPANIES + +//Find all the companies that include 'Facebook' on the name field. +db.companies.find({"name": "Facebook"}) + +//Let's do it one more together: +//Find all the companies which category_code is 'web'. Retrive only their name field: +db.companies.find({"category_code": "web"}, {name: 1}) + +//Find all the companies named "Twitter", and retrieve only their name, category_code and founded_year fields. +db.companies.find({"name": "Twitter"}, {name: 1, category_code: 1, founded_year: 1}) + +//Find all the companies who have web as their category_code, but limit the search to 50 companies. +db.companies.find({"category_code": "web"}).limit(50) + +//Find all the companies which category_code is 'enterprise' and have been founded in 2005. Retrieve only the name, category_code and founded_year fields. +db.companies.find({$and: [{"category_code": "enterprise"}, {"founded_year": 2005}]}, {name: 1, category_code: 1, founded_year: 1}) + +//Find all the companies that have been founded on the 2000 or have 20 employees. Sort them descendingly by their number_of_employees. +db.companies.find({$or: [{"founded_year": 2000}, {"number_of_employees": 20}]}).sort(descending("number_of_employees")) +// ---REVISAR----- + +//Find all the companies that do not include web nor social on their category_code. Limit the search to 20 documents and retrieve only their name and category_code. +db.companies.find({$and: [{"category_code": {$ne: "web"}}, {"category_code": {$ne: "social"}}]}, {name: 1, category_code: 1}).limit(20) + +//Find all the companies that were not founded on 'June'. Skip the first 50 results and retrieve only the founded_month and name fields. +db.companies.find({"founded_month": {$ne: 6}}, {founded_month: 1, name: 1}).skip(50) + +//Find all the companies that have been founded on the 1st of the month, but does not have either 50 employees nor 'web' as their category_code. Retrieve only the founded_day and name and limit the search to 5 documents. +db.companies.find({$and: [{"founded_day": 1}, {"number_of_employees": {$lt: 50}}, {"category_code": {$ne: "web"}}]}, {founded_day: 1, name: 1}).limit(5) + +//Find all the companies which the price_amount of the acquisition was 40.000.000. Sort them by name. +db.companies.find({"acquisition.price_amount": 40000000}).sort("name") + +//Find all the companies that have been acquired on January of 2014. Retrieve only the acquisition and name fields. +db.companies.find({$and: [{"acquired_month": 1},{"acquired_year": 2014}]}, {acquisition: 1, name: 1}) \ No newline at end of file