MongoDB

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

  •  rs.add("<hostname>")
  •  replicaSetAdd("<hostname>")
  •  rs.insert("<hostname>")
  •  replica.add("<hostname>")

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.where('age >= 21')
  •  db.citizens.find('WHERE age >= 21')
  •  db.citizens.find({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 want 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. You 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 isn't changed. How should you fix the issue?

  •  Set the replace option to true.
  •  Use the replaceOne() command instead.
  •  You can't. 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 aren't 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? (Alternative: In the MongoDB shell, what programming language is used to make 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
  •  access 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 want 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. A MongoDB instance has at least what three files?

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

Q44. 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}}

Q45. What is NOT a standard role in MongoDB?

  •  restore
  •  read/write
  •  dbadmin
  •  delete collections

Q46. Which 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});

Q47. 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();

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

  •  primary
  •  arbiter
  •  secondary
  •  backup

Q49. 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.getIndexes();

Q50. 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

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

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

Q52. Given a customer collection which includes fields for gender and city, which aggregate pipeline shows the number of female customers in each city? (Alternative: How can you view the execution performance statistics for a query?)

  •  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}}])

Q53. When no parameters are passed to explain(), what mode does it run in?

  •  wireTiger mode
  •  executionStats mode
  •  queryPlanner mode
  •  allPlansExecution mode

Q54. What is the correct query to find all of the people who have a home phone number defined?

  •  db.person.find({exists: 'homePhone'});
  •  db.person.exists({homePhone: true});
  •  db.person.find({homePhone: {$exists: true}});
  •  db.person.has('homePhone');

Q55. Which file in the MongoDB directly holds the MongoDB daemon?

  •  mongodb
  •  mongo-daemon
  •  daemon
  •  mongod

Q56. You have just secured your previously unsecured MongoDB server, but the server is still not requiring authentication. What is the best option?

  •  Restart the mongod process.
  •  Issue the secure() command.
  •  Issue the mongoimport command.
  •  Issue the authenticate() command.

Q57. What is the most accurate statement regarding MongoDB and ad hoc queries?

  •  MongoDB does not allow ad hoc queries; all queries require an index.
  •  Ad hoc queries are allowed only in the paid version.
  •  Ad hoc queries are allowed only through the ad hoc command.
  •  MongoDB allows ad hoc queries.

Q58. In MongoDB, what does a projection do?

  •  allows you to do a calculation on the results
  •  allows you to run queries on the server
  •  allows you to select which fields should be in the return data
  •  allows you to format the results for a display

Q59. To remove a database and all of its records from MongoDB, what operator should you use?

  •  dropDatabase()
  •  removeAll()
  •  clear()
  •  deleteDatabase()

Q60. What option can be passed to start the MongoDB shell without connecting to a database?

  •  -db=null
  •  --shell-only
  •  --free
  •  -nodb

Q61. How can you improve the appearance of the output JSON that contains the _id?

  •  Use db.collection.set({$_id:pretty})
  •  Create a second index
  •  Use db.collection.format(numeric)
  •  Use $_id = value

Q62. What happens to a Replica set oplog if it runs out of memory?

  •  The oplog will be saved on one of the secondary servers.
  •  The oplog is capped collection and can't run out of memory
  •  The MongoDB instance will fail
  •  The oplog will stop recording logging information

Q63. MongoDB ships with a variety of files. Which file runs the MongoDB shell?

  •  mongo
  •  mongo-s
  •  shell
  •  mongo-shell

Q64. How can you view the execution performance statistics for a query?

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

Q65. From the MongoDB shell, how do you execute a JavaScript file named list.js?

  •  node 'list.js'
  •  exec('list.js)
  •  run('list.js)
  •  load('list.js)

Q66. Which MongoDB shell query will sort the customer's collection by name descending?

  •  db.customers.sort({name: -1}.find({})
  •  db.customers.sort({name: -1})
  •  db.customers.find({}).sort({name: -1})
  •  db.customers.find({}).sort({name: 1})

Q67. Suppose you are using the mongoimport command to import personnel data and there is a unique index on the email field. What happens when there are duplicate emails in the import?

  •  The import command aborts without importing any records.
  •  The import command imports records upto but not including the record, and then aborts.
  •  The import command doesn't import the bad document but does import the rest.
  •  The import command prompts you to correct the bad record.

Q68. You have a collection with millions of documents. Each time you attempt to sort. MongoDB runs out of memory. What might help?

  •  Use the purge operator before the sort.
  •  Return the entire collection and sort on the client.
  •  Pass the --more-memory option.
  •  Create an index on the field you are sorting.

Q69. You need to be able to quickly find a word in a text field. What should you do?

  •  Create a text index on the field and do a $text Query.
  •  Create an single field index in descending order, and do a query for the word.
  •  Do a $text query.
  •  Create a $regex on the fields, and do a $regex query.