Online Interview Questions

Prepare interviews on Anything, AnyWhere

PHPSCOTS,Blogger, Developer Views: 16028
MongoDB interview questions

MongoDB interview questions and answers

1. What do you know about MongoDB?

MongoDB is a cross-platform document-oriented database program which is open source and free in nature. It can also be classified as 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.

2. List the important features of MongoDB.

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.

3. Which all languages can be used with MongoDB?

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.

4. What is the use of a namespace in MongoDB?

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.

5. What do you mean by a replica set in MongoDB?

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.

6. What should all points be taken into consideration while creating a schema in MongoDB?

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.

7. What do you understand by a profiler with reference to MongoDB?

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.

8. Write the syntax for creating a collection and dropping a collection in MongoDB.

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-

Db.collection.drop()

9. What are the different types of NoSQL databases? Give some examples.

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.

10. What are the differences between MongoDB and MySQL?

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.