MongoDB Assignment Help | What is MongoDB database?

Updated: Oct 2, 2021

Realcode4you provide solution as per your need and requirement if you face any problem with MongoDB then our expert ready to help you. In this blog we will cover all theoretical concept related to NoSQL.




  • A type of NoSQL database

  • huMONGOus database

  • Developed by 10Gen, a NYC company, in 2007

  • Document-oriented

  • Schema less (schema optional)

  • Sharding

  • Replication

  • Horizontal scaling

  • Map-Reduce Support











What is Map-Reduce?

  • Generally: a programming model for processing and generating big data sets with a parallel, distributed algorithm on a cluster

  • In MongoDB: a data processing paradigm for condensing large volumes of data into useful aggregated results























MongoDB document example








A document in MongoDB is stored as a binary serialization of a JSON type document



Namespaces

  • A namespace is like a database in relational database systems

* > use tutorial

* Switched to db tutorial

  • Creates a namespace called ‘tutorial’ and makes it available for use

* So no need to explicitly create a namespace before using it

  • All subsequent commands are assumed to pertain to this namespace unless a command to use another namespace is executed

  • A namespace consists of a collection of documents


Collections

  • Collections are sets of documents

* These are like tables in relational database systems

  • Documents with very different fields can be stored in a collection.

* But it makes sense from the point of efficient search to

keep more or less similarly structured documents, about related

topics be stored in the same collection


db.students.insert({name: “John Doe”})
  • Notice: we created the collection students just by telling MongoDB to insert a document into it—no need to explicitly create the collection.

* Similarly, the document inserted doesn’t have to be created prior to insertion



Finding documents


//select all documents in collection ‘students’

db.students.find() 

Output:

{“_id”:ObjectId(“5c806c41839f4c0f6a40767”), “name”: “John Doe”}


The find() command returns a JSON object

* The “_id” key and its value are added automatically to the document at the

time of insert

* The primary index of the document is the _id field.



Find with query predicate

db.students.insert({name: “Jane Smith”})

This command adds another document to students collection

db.students.find()

Output:

{ "_id" : ObjectId("5c806c41839f4c0f6a407676"), "name" : “John Doe" }

{ "_id" : ObjectId("5c80738a839f4c0f6a407677"), "name" : "Jane Smith" }


db.students.find({name: “Jane Smith”}) 

Output:

//the field ‘name’ and the value ‘Jane Smith is a query predicate Asking for all documents with ‘Jane Smith’ in the ‘name’ field. It returns the following:

{ "_id" : ObjectId("5c80738a839f4c0f6a407677"), "name" : "Jane Smith" }



Updating documents—Operator Update

db.students.update({name: “John Doe”}, {$set: {country:USA}})

//Update the {name: “John Doe”} document by adding the field ‘country’ with the values ‘USA


db.students.find({name: “John Doe”})

Output:

{ "_id" : ObjectId("5c806c41839f4c0f6a40767"), "name" : “John Doe”, “country”: “USA” }



db.students.update({name: “John Doe”}, {$set: {name: “Johnny”}})
//change the name to ‘Johnny’

Updating documents—Replacement Update

To replace one document with another document in the collection use replacement update.


db.students.update({name: “Johnny”}, {status:new})

That is, without the $set operator

db.students.find()

Output:

  • { "_id" : ObjectId("5c806c41839f4c0f6a407677"), "name" : “Jane Smith" }

  • { "_id" : ObjectId("5c80738a839f4c0f6a407676"), "status" : "new" }



Deletes

To delete all the documents from a collection (w/o deleting the collection)


db.students.remove()

To delete just a specific document


db.students.remove({name: “Johnny”})

To delete the collection


db.students.drop()

Indexing

  • MongoDB databases are automatically indexed on the _id field (primary index)

  • You can also create indices on other fields—secondary indices

* Up to 64 per collection allowed

  • Indices enable efficient search

  • In this respect, it is like an RDBMS

* But it is schema less

* Has sharding and replication to make it faster than RDBMS



Why use MongoDB or any NoSQL DB?

  • Main reason: Allows efficient and quick scaling up

* Makes sense only if large amount data needs to be ingested quickly

* Volume and Velocity (volume by itself may not be a good enough reason)

* Especially, if the data comes in unpredictable bursts

  • Second reason: Variety of data in the sense that the data to be ingested does not all have the same fields

* Schema-less or schema optional

* Not clear how Cassandra supports that

  • Third reason: Eliminates expensive joins for querying data

* Why do we need that?

* Large volumes of data will result in very expensive joins

* Real-time applications


Why we use MongoDB?


Big Data and Horizontal Scaling

  • Handling big data gracefully requires that new data coming in rapidly and in unpredictable bursts needs to be ingested quickly.

  • Real-time applications based on big data implies that data be supplied quickly.

  • Low latency

  • Horizontal scaling (as opposed to vertical scaling) facilitates quick ingestion

  • Horizontal scaling combined with sharding and no-joins architecture facilitates low latency


Supporting horizontal scaling

  • Horizontal scaling

* As more data is added, more nodes/clusters are added to the system

  • More nodes there are, more likely a node will fail

  • Nodes have to be connected by a network

* The more network links there are, more likely that a link will fail

  • What problems do node or link failure cause?

* How do Cassandra and MongoDB handle these problems?



Implications of Horizontal Scaling

  • Horizontal scaling assumes that each new node/server does not have to be able to hold/process large amounts of data.

* Use of relatively cheap commodity servers

  • So, a large data set (table, document family, etc.) may have to be broken up (sharded) and different shards have to be stored on different nodes/servers.

* Implies that a routing service is needed to route a write or read request

to the appropriate shard.




If you need any database assignment help related to MongoDB, Oracle, SQL Server and MySQL then we are ready to help you.


Send your request at realcode4you@gmail.com and get instant help with an affordable price.

We are always focus to delivered unique or without plagiarism solution which is written by our highly educated professional which provide well structured code within your given time frame.


If you are looking other programming language help like C, C++, Java, Python, PHP, Asp.Net, NodeJs, ReactJs, etc. with the different types of databases like MySQL, MongoDB, SQL Server, Oracle, etc. then also contact us.


147 views0 comments