Skip to content

Instantly share code, notes, and snippets.

@rob137
Created January 11, 2018 09:41
Show Gist options
  • Save rob137/12d4da780f101cf681a28ebecd5a54fa to your computer and use it in GitHub Desktop.
Save rob137/12d4da780f101cf681a28ebecd5a54fa to your computer and use it in GitHub Desktop.
Get all
Find the command that retrieves all restaurants.
db.restaurants.find()
Limit and sort
Find the command that makes the first 10 restaurants appear when db.restaurants is alphabetically sorted by the name property.
db.restaurants.
find().
sort({name: 1}).
limit(10)
Get by _id
Retrieve a single restaurant by _id from the restaurants collection. This means you'll first need to get the _id for one of the restaurants imported into the database.
var exampleId = db.restaurants.findOne({}, {_id: 1})._id;
db.restaurants.findOne({_id: exampleId});
Get by value
Write a command that gets all restaurants from the borough of "Queens".
db.restaurants.find({borough: "Queens"});
Count
Write a command that gives the number of documents in db.restaurants.
db.restaurants.count()
Count by nested value
Write a command that gives the number of restaurants whose zip code value is '11206'. Note that this property is at document.address.zipcode, so you'll need to use dot notation to query on the nested zip code property.
db.restaurants.find({"address.zipcode": "11206"}).count();
Delete by id
Write a command that deletes a document from db.restaurants. This means you'll first need to get the _id for one of the restaurants imported into the database.
var exampleId = db.restaurants.findOne()._id;
db.restaurants.remove({"_id": exampleId});
Update a single document
Write a command that sets the name property of a document with a specific _id to 'Bizz Bar Bang'. Make sure that you're not replacing the existing document, but instead updating only the name property.
var exampleId = db.restaurants.findOne()._id
db.restaurants.updateOne(
{"_id": exampleId},
{$set: {"name": "Bizz Bar Bang"}}
);
Update many documents
Uh oh, two zip codes are being merged! The '10035' zip code is being retired, and addresses with '10035' will now fall under the '10036' zip code. Write a command that updates values accordingly.
var oldZipcodeRestaurants = db.restaurants.find({"address.zipcode": "10035"});
db.restaurants.update (
{"address.zipcode": "10035"},
{$set: {"address.zipcode": "10036"}},
{"multi": "true"}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment