Exercises
An exercises about find() operation
Exercise 1
Preliminary
Import
people.jsonintolab4.people(i.e. database name islab4and collection name ispeople)
$ mongoimport -d lab4 -c people people.jsonQuestions
Find the documents whose age under 22.
Find the documents whose age is between 22 and 26 (inclusive).
Find the document whose name is “Lee” suppressing the profile.
Find the documents whose name is not Lee.
Find the documents whose name is “Lee” or “Park”.
Find the documents whose name is not “Kim” or “Park” or “Lee”.
Exercise 2
Preliminary
Import
inventory.jsoninto lab4.inventory
Questions
Find documents where the tags field contains below elements.
appliance, school, and book.
Hint: recall
$alloperator
Find all documents but select at most three items in the tags field.
Hint: recall
$sliceoperator
Find all documents but select items from the second to the fourth in the tags field.
Hint: recall
$sliceoperator with[skip, limit]
Find documents that have brown color in the qty field.
Hint: recall
$elemMatchoperator
Exercise 3
Preliminary
Import
store.jsonto the store collection
Questions
Find documents where buyer's name is "J.S. Lee"
Hint: Querying embedded document.
Print purchased items where a name in a document is "iPhone Xs"
Hint: Querying embedded document, Projection
Print the buyer’s purchase method where items contain the document that price is more than 2000$
Hint: < array.field >, Projection
Find documents that don’t have carrier as key in attribute where the name is "Apple Watch Series 4"
Hint:
$elemMatch,$exists
Exercise 4
Preliminary
Import
store.jsonto the store collectionSame with Exercise 3!
Questions
Find documents where buyer's name is "J.S. Lee"
Hint: Querying embedded document.
Print purchased items where a name in a document is "iPhone Xs".
Hint: Querying embedded document, Projection
Print the buyer’s purchase method where items contain the document that price is more than 2000$.
Hint:
<array.field>, Projection
Find documents that don’t have carrier as key in attribute where the name is "Apple Watch Series 4"
Hint:
$elemMatch,$exists
Exercise 5
Preliminary
Import
store.jsonto the store collectionSame with Exercise 3!
Questions
Get the first three documents and print buyers field only.
Skip a document and then print two documents
Count documents in the store collection.
Exercise 6
Preliminary
Using
grade.json(import it using mongoimport)
Questions
The grade’s document can have among three types:
quiz, exam or homework
Student id (sid) is from 0 to 99
A document is lost, which contains a quiz score 1. print lost document’s sid. 2. Insert the quiz score (80) to the corresponding sid 3. print the three students that have the highest quiz score.
A simple example of the dataset looks like ...
{"sid": 0, "type": "homework", "score": 69}
{"sid": 0, "type": "quiz" , "score": 29}
{"sid": 0, "type": "exam", "score": 86}
{"sid": 1, "type": "homework", "score": 2}
{"sid": 1, "type": "quiz" , "score": 6}
{"sid": 1, "type": "exam", "score": 67}
{"sid": 2, "type": "homework", "score": 13}
{"sid": 2, "type": "quiz" , "score": 91}
{"sid": 2, "type": "exam", "score": 76}
...Exercise 7
Preliminary
Using
grade.json(import it using mongoimport)Same with exercise 6
Questions
Write the score searching script
Search documents by filtering type and score fields
Results
search > homework 13
sid homework
2 13
74 13search > quiz 41-49
sid quiz
10 46
17 48
19 44
...
96 49
98 41Last updated
Was this helpful?