5.0 KiB
WDI-PANTHALASSA
Title: Vampires - Raw Mongo Queries
Type: Homework
Duration: single night
Adapted by: Thom Page
Course: WDIr-Panthalassa
Vampires!
Setup
-
Start
mongod -
Open your mongo console with
mongo. Note: This homework is done in the terminal, there is no Express. -
Connect to a new database called
monsterswithuse monsters -
Using the js objects of vampires in
populateVampires.js, add the vampires to avampirescollection. Hint: you can use the Adding Losts of New Documents syntax from the example at the bottom of this document.
Resources
Utilize the following resources to research the commands you will need
[https://docs.mongodb.org/manual/reference/operator/query/#query-selectors]
MONGO SELECTION COMMANDS
For the following parts, write mongo queries in your CLI, and when you figure out the right answer, copy the correct mongo queries into a selectVampires.md file in your homework folder.
Part 1
Select by comparison
Select all the vampires that:
- have greater than 500 victims
- have fewer than or equal to 150 victims
- have a victim count is not equal to 210234
- have greater than 150 AND fewer than 500 victims
** Commit your work.**
The commit message should read:
"Commit 1: Select by comparison".
Part 2
Select by exists or does not exist
Select all the vampires that:
- have a title property
- do not have a victims property
- have a title AND no victims
- have victims AND the victims they have are greater than 1000
** Commit your work.**
The commit message should read:
"Commit 2: Select by exists".
Part 3
Select objects that match one of several values
Select all the vampires that:
- love either
frilly shirtsleevesorfrilly collars - love
brooding - love at least one of the following:
appearing innocent,trickery,lurking in rotting mansions,R&B music - love
fancy cloaksbut not if they also love eithertop hatsorvirgin blood* Hint-You will also have to use $nin *
** Commit your work.**
The commit message should read:
"Commit 3: Select matching objects".
Part 4
Select with OR
Select all the vampires that:
- are from
New York, New York, USorNew Orleans, Louisiana, US - love
broodingorbeing tragic - have more than 1000 victims or love
marshmallows - have red hair or green eyes
** Commit your work.**
The commit message should read:
"Commit 4: Select with OR".
Part 5
Negative Selection
Select all vampires that:
- love
ribbonsbut do not have blonde hair - are not from Rome
- do not love any of the following:
[
fancy cloaks,frilly shirtsleeves,appearing innocent,being tragic,brooding] - have not killed more than 200 people
** Commit your work.**
The commit message should read:
"Commit 5: Negative selection".
Part 6
Replacing a record
Replace the following:
- replace the vampire called 'Claudia' with a vampire called 'Eve'. 'Eve' will have a key called 'portrayed_by' with the value 'Tilda Swinton'
- replace the first male vampire with another whose name is 'Guy Man', and who has a key 'is_actually' with the value 'were-lizard'
** Commit your work.**
The commit message should read:
"Commit 6: Replacing a record".
Part 7
Update single values
Update the following:
- Update 'Guy Man' to have a gender of 'm'
- Update 'Eve' to have a gender of 'f'
- Update 'Guy Man' to have an array called 'hates' that includes 'clothes' and 'jobs'
- Update 'Guy Man's' hates array also to include 'alarm clocks' and 'jackalopes'
- Rename 'Eve's' name field to 'moniker'
** Commit your work.**
The commit message should read:
"Commit 7: Replacing a record".
Part 8
Remove documents
https://docs.mongodb.org/manual/tutorial/remove-documents/
- Remove a single document wherein the hair_color is 'brown'
- Remove all documents wheren the eye-color is 'green'
** Commit your work.**
The commit message should read:
"Commit 8: Remove documents".
Adding Lots of New Documents in plain Mongo
Pretend we have a collection called people and want to add lots of documents, we can simply provide this array to the insert method and it will create a document for each object in the array.
[
{
"name": "Emma",
"age": 20
},
{
"name": "Ray",
"age": 45
},
{
"name": "Celeste",
"age": 33
},
{
"name": "Stacy",
"age": 53
},
{
"name": "Katie",
"age": 12
},
{
"name": "Adrian",
"age": 47
}
]
Note: Be sure to type the closing parenthesis of the insert method!
db.people.insert([array])

