Sample Questions for MongoDB Certified DBA (C100DBA) exam – Part I

April 5, 2014 | Comments(23) |

Below are some of the sample questions Sample Questions for C100DBA: MongoDB Certified DBA Associate Exam. You can read more about the MongoDB Certified DBA Exam here.

Please give them a try and the answers are at the end of this blog post.

Section 1: Philosophy & Features:

1. Which of the following does MongoDB use to provide High Availability and fault tolerance?

a. Write Concern

b. Replication

c. Sharding

d. Indexing

2. Which of the following does MongoDB use to provide High Scalability?

a. Write Concern

b. Replication

c. Sharding

d. Indexing

Section 2: CRUD Operations:

1. Which of the following is a valid insert statement in mongodb? Select all valid.

a. db.test.insert({x:2,y:”apple”})

b. db.test.push({x:2,y:”apple”})

c. db.test.insert({“x”:2, “y”:”apple”})

d. db.test.insert({x:2},{y:”apple”})

Section 3: Aggregation Framework:

1. Which of the following is true about aggregation framework?

a. A single aggregation framework operator can be used more than once in a query

b. Each aggregation operator need to return atleast one of more documents as a result

c. Pipeline expressions are stateless except accumulator expressions used with $group operator

d.  the aggregate command operates on a multiple collection

Section 4: Indexing:

Below is a sample document in a given collection test.

{ a : 5, b : 3, c: 2, d : 1 }

1. Given a compound index { a: 1, b:1, c:1, d:1}, Which of the below query will not use in-memory sorting? Select all valid.

a. db.test.find( { a: 5, b: 3 } ).sort( { a: 1, b: 1, c: 1 } )

b. db.test.find( { a: 5, b: 3 } ).sort( { a: 1} )

c. db.test.find( { a: 5, b: 3 } ).sort( {c: 1 } )

d. db.test.find( { a: 5, b: 3 } ).sort( { c: 1, d : 1 } )

Section 5: Replication:

1. In a replicated cluster, which of the following node would only be used during an election?

a. primary

b. secondary

c. arbiter

d. hidden

2. What  is the first task that a secondary would perform on being prompted by another secondary for an election?

a. Start the election process for primary

b. Connect to primary to confirm its availability

c. Vote for the first secondary so that it would become the next primary

d. Vote for itself and then call for election

Section 6: Sharding:

1. In which of the following scenarios is sharding not the correct option. Select all that apply.

a. The working set in the collection is expected to grow very large in size

b. The write operations on the collection are low

c. The collection is a read intensive collection with less working set

d. The write operations on the collection are very high

Section 7: Server & Application Administration:

1. Which of the following collections stores authentication credentials in MongoDB?

a. system.users

b. local.users

c. test.users

d. users.users

Section 8: Backup & Restore:

1. In a sharded cluster, from which node does one stop the balancer process before initiating backup?

a. Any node

b. mongos node

c. config server node

d. replicaset primary node



Section 1: Philosophy & Features:

1. b

2. c

Section 2: CRUD Operations

1. a,c

Section 3: Aggregation Framework

1. a,b,c

Section 4: Indexing

1. c,d

Section 5: Replication

1. c

2. b

Section:6 Sharding

1. b,c

Section 7: Server & Application Administration

1. a

Section 8: Backup & Restore

1. b

I will also be conducting a bootcamp for this certification in Bangalore and online. If you are interested to join, please click here and fill out the form.

Also more sample questions are coming, so keep checking.. Please share if you liked the post by using the social buttons below.

Disclaimer: These questions are NOT what were in my certification exam. I personally or CloudThat do not have any official tie-up with MongoDB regarding the certification or the kind of questions asked. These are my best guesses for the kind of questions to expect, given my experience with MongoDB in general and with the examination.

23 Responses to “Sample Questions for MongoDB Certified DBA (C100DBA) exam – Part I”

  1. jedimaster91

    For number 6, the answer should be, B and C.
    And for question 8, none of the above. For each shard, a secondary with a priority=0 in the replica set should be used for backup.

    • Sankeerth Reddy


      I have updated the answer for 6th question. In case of 8th question, I have updated the question itself.

      Thank You

  2. jedimaster91

    Sample questions are great. Keep them coming. Thanks for all the hard work.

    • Sankeerth Reddy

      Sure, Please keep checking our blog, I have few more set of questions coming along soon.

      Thank You

  3. jedimaster91

    For Section 4, Indexing Q1. The answer should be A, B, C, D. If you try all the queries with explain(), all of them will return scanAndOrder=false which means, none of them used in-memory sorting.

    • Antonio Quintana

      You’re right. All of the sort documents include the index prefix, and that guarantees that both the query and the sort can use the index.

      • Suraj

        I agree all your comments.But when i do the below query, the scanAndOrder is true,which means, Mongo couldnt use the Index for sort and needed an in-memory sort. Why is it? if it can use index for “a” and “c”, why not for b. Even “b” is a index prefix

        c. db.test.find( { a: 5, b: 3 } ).sort( {b: 1 } )

        > db.ind.find( { a: 5, b: 3 } ).sort( { b: 1 } ).explain()
        “cursor” : “BtreeCursor a_1_b_1_c_1_d_1”,
        “isMultiKey” : false,
        “n” : 1,
        “nscannedObjects” : 1,
        “nscanned” : 1,
        “nscannedObjectsAllPlans” : 1,
        “nscannedAllPlans” : 1,
        “scanAndOrder” : true,

        • Compchap

          I agree with jedimaster91. All four queries will not require in-memory sorting. As the query predicate is using index prefix and the direction of sort key is same as of Index. I would ask Sankeerth to shed some light on this topic.

        • Darius Nica

          I agree with all previous comments.The solution should be indeed A,B,C,D.
          Is explained here:

          “An index can support sort operations on a non-prefix subset of the index key pattern. To do so, the query must include equality conditions on all the prefix keys that precede the sort keys.”
          This aside, many thanks for the blog post – is very useful.

  4. Maddi

    > db.products.find()
    > // or:
    > db.products.count()
    > // should print out “11”

    Can any one let me know the answer of that above question . ???
    I am new to Mongo DBA Course .

  5. Maddi

    > db.products.find()
    > // or:
    > db.products.count()
    > // should print out “11″
    Now, what query would you run to get all the products where brand equals the string “ACME”?

    That is the complete question .
    Please let me know the answer .

    • Maddi

      db.products.find({‘brand’:’ACME’}) that is the answer i got it ..

  6. simham

    the answer to Suraj dated October 13, 2014
    i am an rdbms dba. i feel the concept for sorting is same in rdbms and non-rdbms.
    let me know, if my understanding is wrong.

    if the index is a composite index. to explain with example, the following 4 documents when you query with sort on a , they need not be sorted as they are already in sorted order in index. however, if you request the documents to be sorted by be, then you are asking mongodb to ignore filed a and sort on b. since there is no index on b alone or b prefixed index, mongodb has to read all documents and list in the order of filed b.
    a b
    1 1
    1 2
    2 1
    2 2

    in nutshell, you are asking the documents to be listed as below. hence the documents have to be sorted on a key for which no prefixed index exists.

    a b
    1 1
    2 1
    1 2
    2 2

    • Riz Truzt

      Yes, a,c,d are valid inserts.
      d. db.test.insert({x:2},{y:”apple”}) = this is valid insert but in this case x:2 will get inserted, but y:”apple” will not get inserted.


Leave a Reply