MongoDB is one of the most popular no SQL database management systems today. No SQL stands for not only SQL, the name MongoDB is derived from humongous DB as again as the traditional RDBMS. It stores the data in an unnormalized way in a format called as Busan, which stands for binary JSON. In 2007, a software company called tenjin began developing MongoDB and in 2009, the company shifted to an open source development model, with the company offering some commercial support, and some other services. A MongoDB database contains data in the form of one or more collections. collections are equal into tables in an RDBMS.
What do you call a record or a row in an our DBMS? Here it's called as a document. Unlike records of a table which share similar Columns structures. documents of a MongoDB collection may contain different structure. A document simply put is a bunch of one or more key value pairs. The keys can be called as properties or fields as well.
Here is an example of a valid MongoDB document. As you can see name and email or two fields and corresponding to that there are some string values. Here's another example of two documents being part of a single collection. Note that they both have some fields in common and some different internally. MongoDB stores these documents in Busan format which stands for binary JSON. As I mentioned earlier, a document is a group of field value pairs.
Fields are equal in columns in a table, value of a field, maybe string number, Boolean arrays or even another object. each document of a MongoDB collection must have an underscore ID field. And if you don't provide one MongoDB itself will assign an auto generated value of a type called object ID. A collection in a MongoDB database has a dynamic schema such that the documents in the same collection may have different structures in our DBMS joints are expensive and hence in MongoDB, they are not supported. A query in MongoDB operates only on a single collection MongoDB does not support transactions either each insert update delete individually or transactional in nature. And this is because all related data or stored in a single document, and there is no need to use multiple insert update delete operations at all.
Unlike our DBMS data duplication is encouraged here so that all related data is in the same document avoiding unnecessary joins and subqueries