Skip to content

Latest commit

 

History

History
executable file
·
386 lines (276 loc) · 13.1 KB

mongodb-quiz.md

File metadata and controls

executable file
·
386 lines (276 loc) · 13.1 KB

MongoDB

Q1. Which command adds members to the replica set from MongoDB shell?

  • rs.add("")
  • replicaSetAdd("")
  • rs.insert("")
  • replica.add("")

Q2. Which MongoDB shell command should you use to back up a database?

  • restore
  • backup
  • mongobackup
  • mongodump

Q3. Which shell query displays all citizens with an age greater than or equal to 21?

  • db.citizens.select('WHERE age >= 21')
  • db.citizens.select('age >= 21')
  • db.citizens.select('WHERE age >= 21')
  • db.citizens.select({age: {$gte: 21}})

Q4. What does a MongoDB collection consist of?

  • data
  • documents
  • fields
  • rows

Q5. Given an ObjectId in _id, how do you get the time it was created?

  • getDateTime(_id)
  • _id.createDate()
  • _id.getTimestamp()
  • _id.getDateTime()

Q6. Given a cursor named myCursor, which command returns a boolean value?

  • myCursor.hasNext()
  • myCursor.sort()
  • myCursor.next()
  • myCursor.find()

Q7. Which command returns a specific document in the user's collection?

  • db.users.find({_id: 1})
  • db.users.seek({_id: 1})
  • db.users.query({_id: 1})
  • db.query.users({_id: 1})

Q8. To import a JSON array into Mongo, what flags are needed with MongoDBimport?

  • --type jsonArray
  • --json
  • --type json
  • --jsonArray

Q9. Choose the shell command that connects to a MongoDB database.

  • mongo
  • mongod
  • mongoconnect
  • dbconnect

Q10. In the MongoDB shell, how can you tell if an index was used with a query?

  • db.customers.find({lastName: 'smith'}).explain()
  • db.customers.find({lastName: 'smith'}).perf()
  • db.customers.find({lastName: 'smith'}).plan()
  • db.customers.find({lastName: 'smith'}).usedIndex()

Q11. Suppose your aggregation pipeline terminated with an exception referring to exceeded memory limit. What is the best way to resolve the issue?

  • Set useMemory to twice amount indicated in exception.
  • Switch a 64 bit instance of MongoDB.
  • Increase the memory of the MongoDB server.
  • Set allowDiskUse to true.

Q12. What is the recommended way to delete a user?

  • db.deleteUser("user")
  • db.removeUser("user") DEPRECATED
  • db.remove("user")
  • db.dropUser("user")

Q13. What the primary database in a replica set fails, when does failover begin?

  • once the primary has been down for 10 minutes
  • once the primary reboots
  • immediately
  • after the administrator reboots the primary

Q14. What is the correct option to set up Kerberos when starting MongoDBd?

  • --setParameter authenticationMechanisms=GSSAPI
  • --setAuthentication=GSSAPI
  • --setParam auth=K
  • --setAuth method=Kerberos

Q15. What is the purpose of an arbiter in a replica set?

  • It monitors replica set and sends email in case of failure
  • It casts the tie-breaking vote in an election.
  • It holds a backup copy of the database.
  • It reboots the failed server.

Q16. You would like to know how many types of items you have in each category. Which query does this?

  • db.product.group({_id: "$category", count: {$sum:1}})
  • db.product.aggregate($sum: {_id: "$category", count: {$group:1}}})
  • db.product.aggregate($group: {_id: "$category", count: {$sum:1}}})
  • db.product.aggregate($count: {_id: "$category", count: {$group:1}}})

Q17. To restrict the number of records coming back from a query, which command should you use?

  • take
  • limit
  • max
  • skip

Q18. We have a collection named restaurants with the geographical information stored in the location property, how do you create a geospatial index on it?

  • db.restaurants.CreateIndex({location: "2dsphere"})
  • db.restaurants.geospatial({location: "2dsphere"})
  • db.restaurants.CreateIndex("2dsphere":"location")
  • db.restaurants.CreateIndex({geospatial: "location"})

Q19. How do you find documents with a matching item in an embedded array?

  • **db.customers.findmatch ({"jobs":"secretary"})**
  • **db.customers.find ({"jobs:secretary"})**
  • **db.customers.find ({"jobs":["secretary"]})**
  • **db.customers.find ({"jobs":"secretary"})**

Q20. Which query bypasses the first 5 customers and returns the next 10?

  • **db.customers.find({}, {skip: 5, limit: 10})**
  • **db.customers.find({}.page(5).take(10))**
  • **db.customers.find({}).skip(5).take(10)**
  • **db.customers.find({}).skip(5).limit(10)**

Q21. How do you create a text index?

  • db.customers.createIndex({firstName, lastName})
  • db.customers.createTextIndex({firstName, lastName})
  • db.customers.createIndex({firstName: "text", lastName: "text"})
  • db.customers.createText({firstName: 1, lastName: 1})

Q22. Assuming you have customers collection with a firstName and lastName field, which is the correct MongoDB shell command to create an index on lastName, then firstName both ascending?

  • db.customers.createIndex("lastName, firstName, ASC")
  • db.customers.addIndex({lastName:"ASC", firstName: "ASC"})
  • db.customers.newIndex({lastName:1, firstName:1})
  • db.customers.createIndex({lastName:1, firstName: 1})

Q23. One of the documents in your collection has an _ id based upon an older database design and you want to change it. You write an update command to find the document and replace the _ id but the _ id isnt changed. How should you fix the issue?

  • Set the replace option to true.
  • Use the replaceOne() command instead.
  • You cant. Once set the _ id field cannot be changed.
  • Use the updateOne() command instead.

Q24. A compound index allows you to ___ ?

  • Calculate interest quickly.
  • Accomplish nothing, since compound indexes arent allowed in Mongo.
  • Use more than one field per index.
  • Combine fields in different collations.

Q25. Why are ad-hoc queries useful?

  • They do not have to use the same operators.
  • You do not need to structure the database to support them.
  • They autogenerate reports.
  • They run faster than indexed queries.

Q26. How often do the members of a replica set send heartbeats to each other?

  • every 2 minutes
  • every 5 seconds
  • every 2 seconds
  • every 10 seconds

Q27. Which command returns all of the documents in the customers collection?

  • **db.customers.all()**
  • **db.find().customers();**
  • **db.customers.find();**
  • **db.customers.show()**

Q28. Given a cursor named myCursor, pointing to the customers collection, how to you get basic info about it?

  • myCursor.stats()
  • myCursor.dump()
  • myCursor.info()
  • myCursor.explain()

Q29. What is true about indexes?

  • They speed up read access while slowing down writes.
  • They secure the database from intruders.
  • They speed up reads and writes.
  • They speed up write access while slowing down reads.

Q30. What is the preferred format to store geospatial data in MongoDB?

  • Latitude, longitude
  • XML
  • GeoJSON
  • BSON

Q31. Which programming language is used to write MongoDB queries?

  • Python
  • JavaScript
  • SQL
  • TypeScript

Q32. You have two text fields in your document and you'd like both to be quickly searchable. What should you do?

  • Create a text index on each field.
  • MongoDB is not able to do this.
  • Create a compound text index using both fields.
  • Create a text index on one field and a single field index on the other.

Q33. To import a CSV file into MongoDB, which command should you issue?

  • mongorestore
  • mongoi
  • upload
  • mongoimport

Q34. In an MongoDB mapReduce command, the reduce function should ____.

  • access the database
  • be called only when the key has a single value
  • acces the database only to perform read operations
  • not access the data

Q35. On a newly created collection, which field will have an index?

  • the name field
  • the Objectid field
  • the _id field
  • no field will have an index

Q36. You have a collection of thousands of students. You'd like to return the second set of 20 documents from the sorted collection. What is the proper order in which to apply the operations?

  • limit, skip, sort
  • sort, limit, skip
  • limit, sort, skip
  • sort, skip, limit

Q37. You would like the stats() command to return kilobytes instead of bytes. Which command should you run?

  • db.vehicle.stats(1024)
  • db.vehicle.stats("kilobytes")
  • db.vehicle.stats(true)
  • db.vehicle.stats("kb")

Q38. You'd like to modify an existing index. What is the best way to do this?

  • Use the reIndex() command to modify the index.
  • Delete the original index and create a new index.
  • Call the createIndex() command with the update option.
  • Use the updateIndex() command.

Q39. You need to delete the index you created on the description field. Which command will accomplish this?

  • db.vehicle.dropIndex("description_text")
  • db.vehicle.dropIndex({"description":"text"})
  • db.vehicle.removeIndex({"description":"text"})
  • db.vehicle.removeIndex("description_text")

Q40. You would like to know how many different categories you have. Which query will best get the job done?

  • db.vehicle.distinct("category")
  • db.vehicle.unique("category")
  • db.vehicle.distinct("category").count()
  • db.vehicle.distinct("category").length

Q41. From the MongoDB shell, how do you create a new document in the customers collection?

  • **db.customers.add({name: "Bob"})**
  • **db.customers.save({name: "Bob"})**
  • **db.customers.create({name: "Bob"})**
  • **db.customers.new({name: "Bob"})**

Q42. Which field is required of all MongoDB documents?

  • _id
  • _name
  • objectId
  • mongoDB is schema-less so no field is required

Q43. Which MongoDB shell command should you use to back up a database?

  • backup
  • restore
  • mongobackup
  • mongodump

Q44. Which shell query displays all citizens with an age greater than or equal to 21?

  • **db.citizens.find('WHERE age >= 21')**
  • **db.citizens.find({age: {\$gte: 21}})**
  • **db.citizens.where('age >= 21')**
  • **dbcitizens.select('WHERE age >=21')**

Q45. A MongoDB instance has at least what three files?

  • data, namespcae, and journal
  • namespace, journal, and log
  • journal, data, and database
  • data, log, and journal

Q46. You'd like a set of documents to be returned in last name, ascending order. Which query will accomplish this?

  • db.persons.find().sort({lastName: -1}}
  • db.persons.find().sort({lastName: 1}}
  • db.persons.find().sort({lastName: ascending}}
  • db.persons.find().sort({lastName: $asc}}

Q47. What is NOT a standard role in MongoDB?

  • restore
  • read/write
  • dbadmin
  • delete collections

Q48. Which command returns all of the documents in the customers collection?

  • db.customers.show();
  • db.customers.all();
  • db.customers.find();
  • db.find().customers();

Q49. Whih MongoDB shell command deletes a single document?

  • db.customers.delete({_id: 1});
  • db.customers.drop({_id: 1});
  • db.drop.customers({_id: 1});
  • db.customers.remove({_id: 1});

Q50. Using the MongoDB shell, how do you remove the customer collection and its indexes?

  • db.customers.remove({}).indexes();
  • db.customers.remove({});
  • db.customers.drop();
  • db.customers.delete();

Q51. By default, applications direct their read operations to which member of the replica set?

  • primary
  • arbiter
  • secondary
  • backup

Q52. You need to get the names of all the indexes on your current collection. What is the best way to accomplish this?

  • db.people.getName();
  • db.people.reIndex({names: 1});
  • db.people.getIndexKeys();
  • db.people.getIndex();

Q52. You are going to do a series of updates to multiple records. You find setting the multi option of the update() command too tiresome. What should you do instead?

  • Use the replaceMany() command instead
  • Use the updateMulti() command instead
  • Use the updateMany command instead
  • Set the global multi option to True

Q53. To cleanly shut down MongoDB, what command should you use from the MongoDB shell?

  • quit()
  • exit()
  • db.shutdownServer()
  • db.shutdown()

Q54. Given a customer collection which includes fields for gender and city, which aggregate pipeline shows the number of female customers in each city?

  • db.members.aggregate([ {$match: {gender: "Female"}}, {$group: {_id: {city: "$city"}, number: {$sum: 1}}}, {$sort :{number: -1}}])
  • db.members.find({$match: {gender: "Female"}}, {$group: {\_id: {city: "$city"}, number: {$sum: 1}}}.$sort ({number: -1})
  • db.members.find([ {$match: {gender: "Female"}}, {$group: {_id: {city: "$city"}, number: {$sum: 1}}}, {$sort :{number: -1}}])
  • db.members.aggregate([ {$match: {gender: "Female"}}, {$sort :{number: -1}}])