Mongo DB Interview Questions & Answers

Criteria MongoDB Cassandra
Data Model Document Big Table like
Database scalability Read Write
Querying of data Multi-indexed Using Key or Scan

MongoDB is considered to be best NoSQL database because of :Document-oriented (DO)
High performance (HP)
High availability (HA)
Easy scalability
Rich query language

MongoDB does not use conventional locking with reduction, as it is planned to be light, high-speed and knowable in its presentation. It can be considered as parallel to the MySQL MyISAM auto entrust sculpt. With simplest business sustain, performance is enhanced, particularly in a structure with numerous servers.

The MongoDB scrap stands on a collection. So an album of all substances is kept in a lump or mass. Only when there is an additional time slot, there will be more than a few slice data achievement choices, but when there is more than 1 lump, data gets extended to a lot of slices and it can be extended to 64 MB.

Although Mongo DB with Couchbase and Couchbase DB are common in many ways, but still they are different in the case of necessities for execution of the model, crossing points, storage, duplications, etc.

During sequencing of the names of the database and collection name Namespace is used.

Yes, it is deleted. So better eliminate the attribute and then save the object again.

Once the functions are done, the old files are converted to backup files and moved to the moveChunk directory at the time of balancing the slices.

When an index is too huge to fit into RAM, then MongoDB reads the index, which is faster than reading RAM because the indexes easily fit into RAM if the server has got RAM for indexes along with the remaining set.

MongoDB uses the reader-writer locks, allowing simultaneous readers to access any supply like a database or any collection. But always offers private access to singles writes.

Mongo DB is not considered as a 32-bit system because for running the 32-bit MongoDB, with the server, information and indexes require 2 GB. So only it is not used in 32-bit devices.

Write operations are saved in the memory while journaling is going on. The on-disk journal files are really dependable for the reason that the journal writes are habitual. Inside dbPath, a journal subdirectory is designed by MongoDB.

Snapshot () method is used to isolate cursors from intervening with writes. This method negotiates the index and makes sure that each query comes to any article only once.

It is document oriented database which is used to high availability, easy scalability and high performance. It supports the dynamic schema design.

It is a group of mongo instances that maintain same data set. Replica sets provide redundancy and high availability, and are the basis for all production deployments.

There are 3 main features of mongodb that are automatic scaling, High performance and high availability.

Mongodb provides CRUD operations that are create, Read, Update, Delete.

Sharding means to store the data on the multiple machines.

Aggregations are operations that process data records and return computed results.

It is the concatenation of collection name and database.

db.createCollection(name,options) is used to create collection in mongodb.

db.collection.drop() is used to drop collection in mongodb.

Replication is the process of synchronizing data across multiple servers.

Indexes provide high performance read operations for frequently used queries.

database.collection.insert (document) is used for inserting a document.

GridFS is used for storing and retrieving the large files like audio, Images, Video files.

Journaling is used to safe backups in mongodb.

db_adminCommand (“connPoolStats”); is used to see the connection.

The primary replica set accepts all write operations from clients.

The secondaries (page 565) replicate the primary’s oplog and apply the operations to their data sets such that the secondaries’ data sets reflect the primary’s data set.

Profiler is used to show the performance characteristics of every operation against the database.

MongoDB stores data in the form of documents, which are JSON-like field and value pairs.

Replication provides redundancy and increases data availability.

Embedded documents capture relationships between data by storing related data in a single document structure.

Application Level Encryption provides encryption on a per-field or per-document basis within the application layer.

Storage Encryption encrypts all MongoDB data on the storage or operating system to ensure that only authorized processes can access protected data.

CreateIndex() method is used to create an index.

The oplog records all operations that modify the data in the replica set.

Vertical scaling adds more CPU and storage resources to increase capacity.

It divides the data set and distributes the data over multiple servers, or shards.

Sharded cluster has the following components: shards, query routers and config servers.

DATABASE_NAME command is used to create database.

db.dropDatabse() command is used to drop the database.

Pretty() method is used to show the results in a formatted way.

Remove() method is used to remove the document form the collection.

Projection is used to select only necessary data.It did not select whole data of a document.

Limit() method is used to limit the records in database.

>db.COLLECTION_NAME.find().limit(NUMBER) syntax is used.

>db.COLLECTION_NAME.find().sort({KEY:1}) syntax is used for sorting the documents.

Mongodump command is used to create the backup of database.

In monogodb collection is a group of mongodb documents.

Db command gives the name of currently selected database.

Update() and save() methods are used to update the documents into a collection.

The syntax of skip methopd is >db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER).

Mongorestore command is used to restore the backup.

MongoDB uses the dot notation to access the elements of an array and to access the fields of an embedded document.

Auditing provides administrators with the ability to verify that the implemented security policies are controlling activity in the system.

It is a framework for performing aggregation tasks.T he pipeline is used to transform the documents into aggregated results.

Map-reduce is a generic multi-phase data aggregation modality which is used for processing quantities of data.

It is a background process that is used to keep chunks from growing too large.

C++ language is used for writing and implementing mongodb.

Mongodb uses collection to store the data rather than in table.

Save() method is used to replace the existing document to the new document.

MongoDB (from humongous) is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB eschews the traditional table-based relational database structure in favor of JSON-like documents with dynamic schemas (MongoDB calls the format BSON), making the integration of data in certain types of applications easier and faster. Released under a combination of the GNU Affero General Public License and the Apache License, MongoDB is free and open-source software.

First developed by the software company 10gen (now MongoDB Inc.) in October 2007 as a component of a planned platform as a service product, the company shifted to an open source development model in 2009, with 10gen offering commercial support and other services. Since then, MongoDB has been adopted as backend software by a number of major websites and services, including Craigslist, eBay, Foursquare, SourceForge, Viacom, and the New York Times, among others. MongoDB is the most popular NoSQL database system

MongoDB is relational database management system (RDBMS) replacement for web applications. So when you have something which is close to RDBMS, MongoDB could be of good use. It gives you that additional partition tolerance which RDMBS doesn’t give but it has problems with availability. But if you want more scalability, MongoDB would be your choice.

It’s suitable for real-time analytics and high speed logging. It’s highly scalable as well. Craigslist uses MongoDB for archived posts.

At the present time, the internet is loaded with big data, big users, big complexity etc. and also becoming more complex day by day. NoSQL is answer of all these problems; it is not a traditional database management system, not even a relational database management system (RDBMS). NoSQL stands for “Not Only SQL”. NoSQL is a type of database that can handle and sort all type of unstructured, messy and complicated data. It is just a new way to think about the database.Yes. MongoDB is a NoSQL database.

MongoDB is a document oriented DBMS.

Although MongoDB and MySQL both are free and open source databases, there is a lot of difference between them in the term of data representation, relationship, transaction, querying data, schema design and definition, performance speed, normalization and many more. To compare MySQL with MongoDB is like a comparison between Relational and Non-relational databases.

  • MongoDB is typically used as the primary data store for operational applications with real-time requirements (i.e., low-latency, high availability). MongoDB is generally a good fit for 60%-80% of the applications you may be building today. MongoDB is easy to operate and scale in ways that are hard if not impossible with relational databases.
  • MongoDB excels in many use cases where relational databases aren’t a good fit, like applications with unstructured, semi-structured and polymorphic data, as well as applications with large scalability requirements or multi-data center deployments.
  • MongoDB may not be a good fit for some applications. For example, applications that require complex transactions (e.g., a double-entry bookkeeping system) and scan-oriented applications that access large subsets of the data most of the time may not be a good fit for MongoDB. MongoDB is not a drop-in replacement for legacy applications built around the relational data model and SQL.
  • Some common use cases include mobile apps, product catalogs, real-time personalization, content management and applications delivering a single view across multiple systems

MongoDB is a document-oriented DBMS. Think of MySQL but with JSON-like objects comprising the data model, rather than RDBMS tables. Significantly, MongoDB supports neither joins nor transactions. However, it features secondary indexes, an expressive query language, atomic writes on a per-document level, and fully-consistent reads.
Operationally, MongoDB features master-slave replication with automated failover and built-in horizontal scaling via automated range-based partitioning.

MongoDB is implemented in C++. Drivers and client libraries are typically written in their respective languages, although some drivers use C extensions for better performance.

MongoDB uses memory-mapped files. When running a 32-bit build of MongoDB, the total storage size for the server, including data and indexes, is 2 gigabytes. For this reason, do not deploy MongoDB to production on 32-bit machines.
If you’re running a 64-bit build of MongoDB, there’s virtually no limit to storage size. For production deployments, 64-bit builds and operating systems are strongly recommended.

Points need to be taken in consideration are:

  • Design your schema according to user requirements
  • Combine objects into one document if you use them together. Otherwise, separate them
  •  Do joins while write, and not when it is on read
  • For most frequent use cases optimize your schema
  • Do complex aggregation in the schemaThis blog will help you get a better understanding of Difference Between Cassandra and MongoDB!