Truong Phung
Posted on October 18, 2024
A. Beginner-Level MongoDB Questions:
-
What is MongoDB?
- MongoDB is a NoSQL, open-source, document-oriented database that stores data in flexible, JSON-like documents. It is designed for high performance, high availability, and easy scalability.
-
What are the key features of MongoDB?
- Key features include schema flexibility, high availability with replication, automatic sharding for horizontal scaling, support for geospatial queries, aggregation framework, and built-in support for MapReduce.
-
What is a NoSQL database?
- NoSQL databases are non-relational databases designed to handle large volumes of unstructured or semi-structured data. They offer high scalability and flexibility compared to traditional SQL databases.
-
What is a document in MongoDB?
- A document is the basic unit of data in MongoDB, similar to a row in a relational database. It is a JSON-like structure comprising key-value pairs, allowing nested arrays and objects.
-
What is a collection in MongoDB?
- A collection is a group of MongoDB documents, similar to a table in a relational database. Collections do not enforce a schema, allowing documents with varying structures.
-
What is a database in MongoDB?
- A MongoDB database is a container for collections. A single MongoDB server can host multiple databases, and each database contains collections that store documents.
-
What is
mongod
?-
mongod
is the primary daemon process in MongoDB that handles database requests, manages data access, and performs background management tasks.
-
-
What is
mongo
?-
mongo
is a command-line shell that connects to a MongoDB instance and allows users to interact with the database by running queries and commands.
-
-
What is BSON?
- BSON (Binary JSON) is the binary-encoded serialization format used by MongoDB to store documents. It extends JSON by supporting additional data types like
Date
andNumberLong
.
- BSON (Binary JSON) is the binary-encoded serialization format used by MongoDB to store documents. It extends JSON by supporting additional data types like
-
What is a replica set in MongoDB?
- A replica set is a group of MongoDB servers that maintain the same data set, providing redundancy and high availability. It consists of a primary node, secondary nodes, and optionally an arbiter.
-
What is sharding in MongoDB?
- Sharding is the process of distributing data across multiple servers in MongoDB. It is used to handle large datasets and high-throughput operations by distributing the workload.
-
What is an index in MongoDB?
- An index is a special data structure that stores a portion of a collection’s data set in a way that makes it easier to search. Indexes support efficient query execution.
-
What are the different types of indexes in MongoDB?
- Common types of indexes include:
- Single field index: Index on a single field.
- Compound index: Index on multiple fields.
- Multikey index: Index on fields that contain arrays.
- Text index: Index for text search.
- Geospatial index: Index for location-based queries.
- Common types of indexes include:
-
What is aggregation in MongoDB?
- Aggregation in MongoDB is a way to process data and return computed results. It is used for filtering, grouping, and transforming data using operators like
$match
,$group
,$sort
, and$project
.
- Aggregation in MongoDB is a way to process data and return computed results. It is used for filtering, grouping, and transforming data using operators like
-
What is the difference between
find()
andfindOne()
in MongoDB?-
find()
retrieves all documents that match the query criteria, returning a cursor to iterate over.findOne()
retrieves only the first document that matches the query criteria.
-
B. Intermediate-Level MongoDB Questions:
-
What is the purpose of
ObjectId
in MongoDB?-
ObjectId
is a 12-byte unique identifier for documents in a MongoDB collection. It includes a timestamp, machine identifier, process ID, and a counter, ensuring global uniqueness.
-
-
How does replication work in MongoDB?
- Replication in MongoDB involves copying data from a primary node to secondary nodes in a replica set. If the primary node fails, an automatic failover promotes a secondary node to primary, ensuring high availability.
-
What is the aggregation pipeline?
- The aggregation pipeline is a framework in MongoDB for data aggregation. It processes data through a series of stages, where each stage performs an operation like filtering, grouping, or transforming documents.
-
What is
mapReduce
in MongoDB?-
mapReduce
is a data processing paradigm in MongoDB for performing aggregation tasks. It allows complex data transformations and computations by usingmap
andreduce
functions.
-
-
What is
$lookup
in MongoDB?-
$lookup
is an aggregation stage that allows performing left outer joins to other collections in the same database, enabling reference data from one collection in another.
-
-
What is a capped collection?
- A capped collection is a fixed-size, circular collection in MongoDB that automatically overwrites the oldest documents when it reaches its size limit. It is suitable for logging or caching data.
-
What is the
oplog
in MongoDB?- The
oplog
(operations log) is a special capped collection in MongoDB that keeps a record of all operations that modify the data in a replica set. It is used for replication between the primary and secondary nodes.
- The
-
What is
db.stats()
in MongoDB?-
db.stats()
returns statistics about the database, including storage size, number of collections, indexes, and objects.
-
-
What is a
shard key
?- A
shard key
is a field or fields used to distribute documents across shards in a MongoDB sharded cluster. The choice of shard key is crucial for even data distribution and query performance.
- A
-
How does MongoDB handle concurrency?
- MongoDB uses a multi-granularity locking mechanism, which includes global, database, and collection-level locks. It also provides support for optimistic concurrency using
$inc
andfindAndModify
.
- MongoDB uses a multi-granularity locking mechanism, which includes global, database, and collection-level locks. It also provides support for optimistic concurrency using
C. Advanced-Level MongoDB Questions:
-
What is the difference between
Embedded
andReferenced
data models in MongoDB?- Embedded: Stores related data in a single document, improving read performance.
- Referenced: Stores relationships between documents in different collections, reducing data duplication and supporting complex queries.
-
What is a write concern in MongoDB?
- Write concern specifies the level of acknowledgment requested from MongoDB when writing data. It determines how many replicas must confirm a write before it is considered successful.
-
What is
schema design
in MongoDB?- Schema design in MongoDB involves organizing data into collections and documents to ensure efficient queries and updates. It depends on the application’s access patterns and can involve embedding or referencing.
-
How to create a backup in MongoDB?
- Backups in MongoDB can be created using
mongodump
andmongorestore
commands. Alternatively, you can use filesystem snapshots, MongoDB Atlas backup, or themongoexport
command for exporting collections.
- Backups in MongoDB can be created using
-
How do you optimize queries in MongoDB?
- Query optimization techniques in MongoDB include creating proper indexes, using projection to limit returned fields, analyzing query plans with
explain()
, avoiding$where
clauses, and optimizing the schema for common queries.
- Query optimization techniques in MongoDB include creating proper indexes, using projection to limit returned fields, analyzing query plans with
If you found this helpful, let me know by leaving a 👍 or a comment!, or if you think this post could help someone, feel free to share it! Thank you very much! 😃
Read more about MongoDB Commands and RESTful API with MongoDB
Posted on October 18, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.