MongoDB Interview Questions

MongoDB Interview Questions

MongoDB interview questions and answers

Download MongoDB Interview Questions PDF

Below are the list of Best MongoDB Interview Questions and Answers

Capped collections are fixed-size collections that restrict updates to the documents if the update results in increased document size and it ensures that the document size does not increase the size allocated on the disk.

A replica set is a group of MongoDB instances that host the same data set. The primary is the only member in the replica set that receives write operations. Whereas Secondary members replicate this log and apply the operations to their data sets.

In MongoDb, Splitting is a process that keeps chunks from growing too large with the help of split command(). MongoDB splits the chunk, when a chunk grows beyond a specified chunk size, on the basis of shard key values the chunk represents.

MongoDB is a cross-platform document-oriented database program that is open source and free in nature. It can also be classified as the NoSQL database program. It was developed by MongoDB Inc. JSON-like documents with schema are used by MongoDB. Field, range queries, and regular expressions are also supported by MongoDB. The queries used by this contain user-defined JavaScript functions. It provides high availability with the replica sets. Fields can be indexed with primary and secondary indices. Sharding is used by MongoDB for scaling horizontally which determines how the data will be distributed. It can also be used as a file system with load balancing. It can also be used for batch processing of data.

The important features of MongoDB are listed below: –

  1. Aggregation framework– it uses aggregation framework for the batch processing of data and aggregation operations. It should be used in an effective manner.
  2. The usage of BSON format in MongoDB– it uses the binary-encoded serialization of JSON-like documents. The data-types like- date and binary are supported in the format.
  3. The sharing feature of MongoDB– using this feature, MongoDB supports the distribution of data across multiple machines. It supports deployment with large sets of data.
  4. The Ad hoc queries in MongoDB– it supports field, range queries, and regular expressions.
  5. Collections– MongoDB supports fixed size collection which can also be termed as capped collections.

Here goes a list of the languages which can be used with MongoDB: –

  • C
  • C++
  • C#
  • Java
  • Node.js
  • Perl
  • PHP
  • Python
  • Ruby
  • Scala
  • Go
  • Erlang.

Currently, MongoDB provides driver support for the languages listed above. It can be used easily with any of these languages.

In MongoDB, a namespace is a combination of the database name and collection or index name. It is a canonical name for an index or a collection in MongoDB. A namespace consists of all the documents in MongoDB. The maximum length of a collection of namespaces is called the namespace length. It consists of the database name, a dot operator (.), and the name of the collection.

Syntax- <database>.<collection>

The namespace contains all the helper classes which can be used to construct various options which are to be used in the drivers. A namespace can also be termed as the concatenation of the collection name and the database name.

A group of mongo instances which is able to host the same data set is known as a replica set in MongoDB. A replica set consists of a primary node and a secondary node too. With the help of a replica set, all the data from primary node to the secondary node replicates. Replication is a process of synchronizing the data. Replication provides redundancy and it also increases the availability of data with the help of multiple copies of data on the different database server. It also protects the database from the loss of a single server.
Following are the points which should be taken into consideration when you create a schema in MongoDB: –
  • Your schema should be designed according to your requirements.
  • If the objects are to be used together, you should combine them into one document. Otherwise, you should use them separately.
  • Joins should be performed while writing and not while reading.
  • If use cases are used more frequently, then you should optimize your schema.
  • Complex aggregation should be done in the schema.
A database profiler is something which collects fine-grained data about write operations of MongoDB, the cursors, and the database commands. Profiling can be enabled on a per database or pre instance basis. When profiling is enabled, the profiling level also gets configurable. By default, the profiler will be off. All the data collected by the system.profiler collection is written by the database profiler to it. This collection is a capped collection. 0, 1, and 2, these are the three levels available in the database profiler. Profiling in a database can be enabled from the mongo shell or using a profile command through the driver. While enabling profiling, profiling level is also set. The profiler is used to record data in the system.profile collection.

The creation of the collection is the basic step in MongoDB. Here is the syntax for creating a collection in MongoDB-

 Db.createCollection (name, options)

Dropping a collection basically means deleting a collection. Following is the syntax for dropping a collection in MongoDB-

There are 4 basic types of NoSQL database. They are as follows: –
  • Key value store NoSQL database
  • Document store NoSQL database
  • Column store NoSQL database
  • Graph-based NoSQL database

The various examples of NoSQL database are- MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBase, Couchbase, MemcacheDB, Voldemort, RevenDB, etc.

The various differences between MongoDB and MySQL are listed below:
  • In terms of data representation– in MySQL, we represent data in the form of tables and rows. Whereas, in MongoDB data is represented as collections of JSON documents.
  • Querying– in SQL, we put together a string in the query language which is then parsed by the database system. Whereas, in MongoDB, object querying is used.
  • Relationships– in MySQL, the relational database is only the Join operation which allows us to perform queries across multiple tables. Whereas MongoDB does not support join operation but can support multi-dimensional data types such as arrays, etc. in this, embedding is a process in which we place one document inside the other.
  • Transactions– MySQL supports atomic transactions which are the ability to contain multiple operations within a transaction. Whereas, MongoDB does not support transactions.
  • Schema definition– in MySQL, you need to define your tables and columns before storing anything. Whereas, in MongoDB, you don’t need to define a schema.

When the mongoose is created at the first time the version key is a property set on every document. The value of this key comprises of the internal revision of the document. It is understood that the name of this document is configurable. The default key is __v