<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>@mongodb</title><author><name>@mongodb</name></author><id>https://teletype.in/atom/mongodb</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/mongodb?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/mongodb?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-05T05:55:05.567Z</updated><entry><id>mongodb:sJhmse7aZ</id><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb/sJhmse7aZ?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><title>Basic MongoDB Commands for Smart IT.</title><published>2020-07-04T10:09:29.255Z</published><updated>2020-07-04T10:11:33.986Z</updated><summary type="html">&lt;img src=&quot;https://teletype.in/files/68/70/6870839a-15df-40ee-a13e-09bf01a254fb.jpeg&quot;&gt;To run the commands, we need to first connect to social database which is database for Smart IT and for this we use Mongo Shell.Below are the steps to connect to Mongo Shell.</summary><content type="html">
  &lt;p&gt;To run the commands, we need to first connect to social database which is database for Smart IT and for this we use Mongo Shell.Below are the steps to connect to Mongo Shell.&lt;/p&gt;
  &lt;p&gt;1.Login to Server where Mongo DB is installed.&lt;br /&gt;2.Navigate to Mongodb folder. In my case as it is installed at location. &amp;lt;C:\Program Files\BMC &lt;/p&gt;
  &lt;p&gt;3.Software\Smart&lt;em&gt;IT&lt;/em&gt;MyIT\Smart_I&lt;em&gt;IT&lt;/em&gt;IT\mongodb\bin&amp;gt;&lt;br /&gt;In case of linux, the file path is  &amp;lt;/opt/bmc/Smart&lt;em&gt;ITIT&lt;/em&gt;/Smart&lt;em&gt;IT&lt;/em&gt;My&lt;em&gt;IT&lt;/em&gt;ongodb/bin&amp;gt;&lt;br /&gt;4.At this location, you will find a file called &amp;quot;mongo&amp;quot;, execute it. it open mongo shell.&lt;br /&gt;5.On Mongo shell, run command &amp;quot;use social&amp;quot;.&lt;br /&gt;6. This connects us to social DB&lt;/p&gt;
  &lt;p&gt;Once we are connected to Social DB, we can below command to find specific set of data.Below are some basic commands that may be helpful to you. learn &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;MongoDB online training&lt;/a&gt;&lt;/strong&gt; from industrial experts.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/68/70/6870839a-15df-40ee-a13e-09bf01a254fb.jpeg&quot; width=&quot;728&quot; /&gt;
    &lt;figcaption&gt;MongoDB commands&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB Commands Listing (Administrative Command Helpers):&lt;/strong&gt;&lt;br /&gt;The sections above provide helpful commands that can get you online on MongoDB and do some administrative tasks on MongoDB. This section specifically works upon the administrative tasks on databases created within MongoDB database server.&lt;br /&gt;JS Database Administration Method	&lt;br /&gt;1. db.cloneDatabase()	&lt;br /&gt;2. db.copyDatabase(, , )	&lt;br /&gt;3. db.fromCollection.renameCollection(toCollection)	&lt;br /&gt;4. db.repairDatabase()	&lt;br /&gt;5. db.getCollectionNames()	&lt;br /&gt;6. db.dropDatabase()&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;1. Query Mongo DB to check Incident/Change/Knowledge etc Records.&lt;/strong&gt;&lt;br /&gt;In order to find the record details, we need InstanceID of the record. once we have it, paste it in place of &amp;quot;InstanceID&amp;quot; in below command and execute it.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;2. Query MongoDB to check Subjectivity for Incident.&lt;/strong&gt;&lt;br /&gt;We use this command to check if the workinfo/activity for Parent record exists or not.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;3. To find specific user profile based on Login ID.&lt;/strong&gt;&lt;br /&gt;In case one needs to check if user details exits in MongoDB, we use below command.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;4. Delete Activities and Sub-activities associated with a user &amp;quot;Allen&amp;quot;&lt;/strong&gt;&lt;br /&gt;In a situation, if there a need to delete the activities and activities associated with a user then we can use below command to achieve it. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;MongoDB online course&lt;/strong&gt;&lt;/a&gt; will helps you to learn more effectively. &lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB Commands Listing (Basic Shell JS Operations) :&lt;/strong&gt;&lt;br /&gt;Apart from the above help options and command-line options, MongoDB provides a rich collection of Javascript API for database related operations. DB is the mongo shell variable that holds the current database that we are pointing to. The variable is reset to the when the command is used, until then it points to the test database.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Some of the commonly used Javascript operations&lt;/strong&gt;&lt;br /&gt;1	db.auth()	&lt;br /&gt;2	myCollectionVariable = db.	&lt;br /&gt;3	db.collection.find()	&lt;br /&gt;4	db.collection.insertOne()	&lt;br /&gt;5	db.collection.insertMany()	&lt;br /&gt;6	db.collection.updateOne()	&lt;br /&gt;7	db.collection.updateMany()	&lt;br /&gt;8	db.collection.save()	&lt;br /&gt;9	db.collection.deleteOne()	&lt;br /&gt;10 db.collection.deleteMany()	&lt;br /&gt;11	db.collection.drop()	&lt;br /&gt;12 db.collection.createIndex()	&lt;br /&gt;exist. If the index already exists, then there is no effect of this command over the collection specified by the command.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br /&gt;This article provides a one-stop-shop for all the administration related queries, help related commands and the basic CRUD operations that can be done on collections on a MongoDB database. As mentioned earlier during the introduction of the article, this is written for the latest stable release of MongoDB. For more details &lt;strong&gt;&lt;a href=&quot;http://To%20run%20the%20commands,%20we%20need%20to%20first%20connect%20to%20social%20database%20which%20is%20database%20for%20Smart%20IT%20and%20for%20this%20we%20use%20Mongo%20Shell.Below%20are%20the%20steps%20to%20connect%20to%20Mongo%20Shell.%20%201.Login%20to%20Server%20where%20Mongo%20DB%20is%20installed.%202.Navigate%20to%20Mongodb%20folder.%20In%20my%20case%20as%20it%20is%20installed%20at%20location.%20%3CC:%5CProgram%20Files%5CBMC%203.Software%5CSmart_IT_MyIT%5CSmart_IT_MyIT%5Cmongodb%5Cbin%3E%20In%20case%20of%20linux,%20the%20file%20path%20is%20%20%3C/opt/bmc/Smart_IT_MyIT/Smart_IT_MyIT/mongodb/bin%3E%204.At%20this%20location,%20you%20will%20find%20a%20file%20called%20%22mongo%22,%20execute%20it.%20it%20open%20mongo%20shell.%205.On%20Mongo%20shell,%20run%20command%20%22use%20social%22.%205.%20This%20connects%20us%20to%20social%20DB%20%20Once%20we%20are%20connected%20to%20Social%20DB,%20we%20can%20below%20command%20to%20find%20specific%20set%20of%20data.Below%20are%20some%20basic%20commands%20that%20may%20be%20helpful%20to%20you.learn%20%5B*%20%5Bmongodb%20online%20training%20https://onlineitguru.com/artificial-intelligence-course.html%5D%5D%20%20from%20industrial%20experts%20%20%5B*%20MongoDB%20Commands%20Listing%20(Administrative%20Command%20Helpers):%5D%20The%20sections%20above%20provide%20helpful%20commands%20that%20can%20get%20you%20online%20on%20MongoDB%20and%20do%20some%20administrative%20tasks%20on%20MongoDB.%20This%20section%20specifically%20works%20upon%20the%20administrative%20tasks%20on%20databases%20created%20within%20MongoDB%20database%20server.%20JS%20Database%20Administration%20Method%09%201.%20db.cloneDatabase()%09%202.%20db.copyDatabase(,%20,%20)%09%203.%20db.fromCollection.renameCollection(toCollection)%09%204.%20db.repairDatabase()%09%205.%20db.getCollectionNames()%09%206.%20db.dropDatabase()%20%20%5B*%201.%20Query%20Mongo%20DB%20to%20check%20Incident/Change/Knowledge%20etc%20Records.%5D%20In%20order%20to%20find%20the%20record%20details,%20we%20need%20InstanceID%20of%20the%20record.%20once%20we%20have%20it,%20paste%20it%20in%20place%20of%20%22InstanceID%22%20in%20below%20command%20and%20execute%20it.%20%20%5B*%202.%20Query%20MongoDB%20to%20check%20Subjectivity%20for%20Incident.%5D%20We%20use%20this%20command%20to%20check%20if%20the%20workinfo/activity%20for%20Parent%20record%20exists%20or%20not.%20%20%5B*%203.%20To%20find%20specific%20user%20profile%20based%20on%20Login%20ID.%5D%20In%20case%20one%20needs%20to%20check%20if%20user%20details%20exits%20in%20MongoDB,%20we%20use%20below%20command.%20%20%5B*%204.%20Delete%20Activities%20and%20Sub-activities%20associated%20with%20a%20user%20%22Allen%22%5D%20In%20a%20situation,%20if%20there%20a%20need%20to%20delete%20the%20activities%20and%20activities%20associated%20with%20a%20user%20then%20we%20can%20use%20below%20command%20to%20achieve%20it.%20%20%5B*%20MongoDB%20Commands%20Listing%20(Basic%20Shell%20JS%20Operations):%5D%20Apart%20from%20the%20above%20help%20options%20and%20command-line%20options,%20MongoDB%20provides%20a%20rich%20collection%20of%20Javascript%20API%20for%20database%20related%20operations.%20DB%20is%20the%20mongo%20shell%20variable%20that%20holds%20the%20current%20database%20that%20we%20are%20pointing%20to.%20The%20variable%20is%20reset%20to%20the%20when%20the%20command%20is%20used,%20until%20then%20it%20points%20to%20the%20test%20database.%20%20%5B*%20Some%20of%20the%20commonly%20used%20Javascript%20operations%5D%20%201%09db.auth()%09%202%09myCollectionVariable%20=%20db.%09%203%09db.collection.find()%09%204%09db.collection.insertOne()%09%205%09db.collection.insertMany()%09%206%09db.collection.updateOne()%09%207%09db.collection.updateMany()%09%208%09db.collection.save()%09%209%09db.collection.deleteOne()%09%2010%09db.collection.deleteMany()%09%2011%09db.collection.drop()%09%2012%09db.collection.createIndex()%09%20exist.%20If%20the%20index%20already%20exists,%20then%20there%20is%20no%20effect%20of%20this%20command%20over%20the%20collection%20specified%20by%20the%20command.%20%20%5B*%20Conclusion:%5D%20This%20article%20provides%20a%20one-stop-shop%20for%20all%20the%20administration%20related%20queries,%20help%20related%20commands%20and%20the%20basic%20CRUD%20operations%20that%20can%20be%20done%20on%20collections%20on%20a%20MongoDB%20database.%20As%20mentioned%20earlier%20during%20the%20introduction%20of%20the%20article,%20this%20is%20written%20for%20the%20latest%20stable%20release%20of%20MongoDB.%20for%20more%20info%20%5B*%20%5Blearn%20mongodb%20online%20https://onlineitguru.com/artificial-intelligence-course.html%5D%5D%20%20Commands%20provided%20here%20may%20not%20work%20on%20other%20versions%20of%20MongoDB%20considering%20that%20there%20are%20many%20changes%20from%20the%20previous%20versions%20to%20the%20latest%20one.&quot; target=&quot;_blank&quot;&gt;learn mongodb online&lt;/a&gt;&lt;/strong&gt; &lt;br /&gt;Commands provided here may not work on other versions of MongoDB considering that there are many changes from the previous versions to the latest one.&lt;/p&gt;

</content></entry><entry><id>mongodb:GgfH1Qiyl</id><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb/GgfH1Qiyl?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><title>Top Differences MongoDB Vs MySQL</title><published>2020-06-30T11:24:44.859Z</published><updated>2020-06-30T11:24:44.859Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/54/5c/545c86f5-3df3-4cf3-84d3-0dc7660e0564.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/e8/3e/e83eea82-b306-4646-b32b-c205fc0ebacb.png&quot;&gt;Databases are embedded in every transaction of organizations, and even for the people who own computers or cell phones, access them frequently either knowingly or unknowingly. Right from when we pull out money from ATMs, check our savings account, shop online on an e-commerce portal, view social media platforms, or perform any digital interactions, a database is involved.</summary><content type="html">
  &lt;p&gt;Databases are embedded in every transaction of organizations, and even for the people who own computers or cell phones, access them frequently either knowingly or unknowingly. Right from when we pull out money from ATMs, check our savings account, shop online on an e-commerce portal, view social media platforms, or perform any digital interactions, a database is involved.&lt;/p&gt;
  &lt;p&gt;Databases have made a lot of progress since their inception in the early 1960s, and at first, they were used as a solution to help store and retrieve data and make it more accessible at a relatively faster speed. All the databases traditionally used structured query language (SQL) to retrieve, manipulate, and store data. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;MongoDB online training&lt;/strong&gt;&lt;/a&gt; helps you to learn more skills and techniques.&lt;/p&gt;
  &lt;p&gt;MySQL database has become a relatively economical option for organizations around the globe that needed a relational database when compared to many costly DBs like Oracle, Teradata, etc.&lt;/p&gt;
  &lt;p&gt;Recently, we have witnessed an increase in the variety and volume of data. So, non-relational databases or NoSQL data stores like MongoDB have become the go-to database to handle dynamism in business and meet the new needs of ever-changing architecture and design landscape of the applications. Let us look at some of the differences between these two databases in detail in the upcoming sections.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e8/3e/e83eea82-b306-4646-b32b-c205fc0ebacb.png&quot; width=&quot;2501&quot; /&gt;
    &lt;figcaption&gt;MySQL VS MongoDB &lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2&gt;&lt;strong&gt;Internal Structure&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;MySQL keeps its data in the form of rows and columns in tables and uses the SQL to access the data from the tables. This is similar to any relational database management systems like Oracle, MS SQL Server, etc. MySQL uses database schemas to outline its internal structure that requires the rows in the table to have the same structure as the values represented by its data type.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB&lt;/strong&gt;: MongoDB stores the data in the form of JSON (JavaScript Object Notation) like format, i.e., BSON (binary-encoded format behind the scenes) that can have diverse data structures. BSON extends the JSON model and offers more data types, ordered fields, and more. Its implementation is lightweight and traversable.&lt;/p&gt;
  &lt;p&gt;To improve the query retrieval speed, MongoDB can gather and store the associated data together, which is then accessed by its very own query language (MongoDB query language). In contrast to MySQL DB, which has schema to represent its internal structure, MongoDB is schema-agnostic, thus allowing you to create formats or documents without having to define the internal structure of the format or document initially. These formats or documents can be easily changed by adding or deleting fields or otherwise called as key-value pairs.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Query Language&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;The MySQL DB follows standard SQL like other RDBMS. See examples below,&lt;/p&gt;
  &lt;p&gt;Selecting from employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Select * from employee;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Inserting to employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;INSERT INTO employee (emp_id, dept, status) VALUES (&amp;#x27;1234&amp;#x27;, &amp;#x27;HR&amp;#x27;, &amp;#x27;A&amp;#x27;)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Updating employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;UPDATE employee SET dept = &amp;#x27;Finance&amp;#x27; WHERE Empid = 1234;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;MySQL can be vulnerable to SQL injection attacks as the values are directly passed to the DB instead of objects or documents, unlike MongoDB.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;MongoDB uses its query language and let us see them below,&lt;/p&gt;
  &lt;p&gt;Selecting from employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;db.find.employee()&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Inserting to employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;db.employee.insert ({emp_id:’1234’, dept:’HR’, status:’A’})&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Updating employee table:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;&lt;em&gt;db.employee.update({Empid:{$eq:1234}},{$set{dept:’Finance’}},{multi:true})&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;As MongoDB uses object querying, where formats or documents are passed during runtime to query DB, it reduces the risk of attack as there is no SQL language used to parse and identify the data being passed across.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Replication / Clustering&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;MySQL database supports master and slave replication and master-master replication similar to any other relational database management system. Multi-source replication in MySQL database also allows you to reproduce from several master databases in parallel. Replication lags can occur if master-slave configurations vary or a load of operations fluctuate.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB:&lt;/strong&gt; MongoDB, on the contrary, supports inbuilt replication, sharding, and auto-elections. By the use of auto-elections, you can set up the secondary database that can spontaneously take over the functionality if the primary database fails at any point in time.&lt;/p&gt;
  &lt;p&gt;The concept of sharding (shared-nothing architecture) allows horizontal scaling, which is difficult to achieve in the MySQL database that supports only vertical scaling. MongoDB uses replicas to create multiple copies of the data stored internally. Each member of the replica can have the role of a primary or secondary database at any point in time. The database operations like reads, writes, and deletes are executed by default on the primary replica and then replicated onto the secondary replicas. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Best MongoDB course&lt;/strong&gt;&lt;/a&gt; from industrial experts. &lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Terminology and Concepts&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;MySQL concept does not allow efficient replication and sharding, but one can access associated data using joins, which minimizes duplication.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;MongoDB has been designed with high availability and scalability in mind and includes inbuilt replication and sharding.&lt;/p&gt;
  &lt;p&gt;The differences between the two databases have been explained below in DB terminology.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MySQL&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ACID Transactions&lt;/p&gt;
  &lt;p&gt;ACID Transactions&lt;/p&gt;
  &lt;p&gt;Table&lt;/p&gt;
  &lt;p&gt;Collection&lt;/p&gt;
  &lt;p&gt;Row&lt;/p&gt;
  &lt;p&gt;Document&lt;/p&gt;
  &lt;p&gt;Column&lt;/p&gt;
  &lt;p&gt;Field&lt;/p&gt;
  &lt;p&gt;JOINs&lt;/p&gt;
  &lt;p&gt;$lookup &amp;amp; $graphLookup&lt;/p&gt;
  &lt;p&gt;GROUP_BY&lt;/p&gt;
  &lt;p&gt;Aggregation Pipeline&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Security&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB&lt;/strong&gt; uses a privilege-based security model. It authenticates any user and facilitates them with privileges on a specific database such as CREATE, SELECT, or INSERT. On the transport layer, MySQL DB uses encoded connections between clients and the server using SSL.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB&lt;/strong&gt; Unlike MySQL DB, MongoDB uses a role-based authentication or access control with a flexible set of privileges. Its security bundle includes authentication, auditing, and authorization. It is also possible to use Transport Layer Security and Secure Sockets Layer for encoding and decoding purposes. This provision or facility ensures that the database is only accessible to the intended user or client.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Data Representation&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;The difference between the way data is stored and maintained in both databases is relatively different. MySQL stores data in the form of rows of the table, just like any other relational database management system.&lt;/p&gt;
  &lt;p&gt;A record in MySQL DB would look like below,&lt;/p&gt;
  &lt;p&gt;Emp ID Emp Name Dept Status&lt;/p&gt;
  &lt;p&gt;1234 ABCD HR Active&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;MongoDB stores data in the form of JSON-like documents. An example below,&lt;/p&gt;
  &lt;p&gt;{&lt;/p&gt;
  &lt;p&gt;Emp_id: 1234,&lt;/p&gt;
  &lt;p&gt;Emp_name:”ABCD”,&lt;/p&gt;
  &lt;p&gt;Dept:”HR”,&lt;/p&gt;
  &lt;p&gt;Status:”A”&lt;/p&gt;
  &lt;p&gt;}&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Scalability&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;In many situations, most of the SQL databases like MySQL DB, Oracle, SQL Servers are vertically scalable, which means that you can increase the load on a single server by increasing CPU specifications or RAM.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;But NoSQL databases, on the other hand, are horizontally scalable. This implies that you handle more traffic by sharding or adding more servers for your NoSQL database and create a MongoDB cluster with multiple nodes/servers. It is similar to adding more floorings to the same house as against adding more homes to the neighborhood. The MongoDB or NoSQL DB can eventually evolve and become more dominant, making it the preferred choice for large or ever-changing fluid data sets.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Benefits and Strengths&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;MySQL is an extremely well-known database as there is a vast support community, and extensively being tested and for high stability. MySQL is available for all major operating system platforms like Linux, Windows, Mac, BSD, and Solaris. It also has adapters to multiple programming languages like Node.js, Ruby, C#, C++, Java, Perl, Python, PHP, etc. The database is open-source and can be replicated across multiple nodes as well.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;MongoDB gives you the flexibility to change your schema without modifying any of your existing data. You can also add new columns or fields in a MongoDB collection without affecting application performance. It is user-friendly to a great extent, which both developers and administrators could use.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;High Availability and Cloud&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;For stable environments, MySQL DB provides better handling techniques. Taking a backup of MySQL is not required, as it already has a replication provision integrated within. However, setting up a master-slave is relatively slower compared to MongoDB.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;For unstable environments, MongoDB offers an improved handling technique compared to MySQL DB. This is because it takes a smaller amount of time for the active secondary nodes to elect a new primary node in case of failures or unavailability of primary nodes. Besides, due to in-built native replication, creating a backup for a MongoDB database is relatively fast and easy when compared to MySQL as the latter has integrated replication support.&lt;/p&gt;
  &lt;p&gt;Also, cloud-based storage solutions require data to be smoothly and evenly spread across multiple servers for scaling up. MongoDB can load a high volume of data as compared to MySQL in a short time and with a built-in sharding feature, and it is straightforward to partition and spread out data across multiple servers.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Data Embedding&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL DB: &lt;/strong&gt;MySQL DB does not provide the option of nesting or an embedding feature in the SQL query or format. You can do a JOIN on tables in MySQL, in which case, you may end up having larger tables with possibly unnecessary fields. JOIN operations are costly, time-consuming, and performance-intensive.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB: &lt;/strong&gt;MongoDB provides a better embedding technique for related data. In MongoDB, you can decide to embed the data into a field or reference the data from another collection of data if you think that the document could potentially grow in size in the future. For example, if you want to collect the addresses of the employees and other information, you can easily have a simple structure like below in MongoDB,&lt;/p&gt;
  &lt;p&gt;{&lt;/p&gt;
  &lt;p&gt;id:1,&lt;/p&gt;
  &lt;p&gt;name:&amp;#x27;ABCD&amp;#x27;,&lt;/p&gt;
  &lt;p&gt;gender: &amp;#x27;Male&amp;#x27;,&lt;/p&gt;
  &lt;p&gt;age:23,&lt;/p&gt;
  &lt;p&gt;address:{&lt;/p&gt;
  &lt;p&gt;City: &amp;#x27;New Jersey,&lt;/p&gt;
  &lt;p&gt;Street: &amp;#x27;London&amp;#x27;,&lt;/p&gt;
  &lt;p&gt;Zip_code: 11243&lt;/p&gt;
  &lt;p&gt;}&lt;/p&gt;
  &lt;p&gt;}&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Companies that use MySQL &amp;amp; MongoDB&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;MySQL:&lt;/strong&gt; Some of the internet companies like Pinterest, Twitter, YouTube, Netflix, Spotify, US Navy, NASA, Walmart, and PayPal use MySQL.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;MongoDB:&lt;/strong&gt; Citrix, T-Mobile, Zendesk, Sony, Hootsuite, SurveyMonkey, MuleSoft, Foursquare, and InVision use MongoDB.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;Relational databases are being hard-pressed beyond their boundaries because of the way that the applications are being built today, coupled with an unprecedented rate of growth in data sources and users accessing the databases. MySQL and MongoDB both have their fortes and flaws. If your data requires multi-row manipulations or transactions or you have to upkeep a legacy system, a relational database like MySQL DB could be the right choice for your organization. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;MongoDB online course&lt;/strong&gt;&lt;/a&gt; helps you to learn more skills and techniques.&lt;/p&gt;

</content></entry><entry><id>mongodb:fN-LiR1tU</id><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb/fN-LiR1tU?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><title>Client-Side Field Level Encryption Guide</title><published>2020-05-21T06:52:15.448Z</published><updated>2020-05-21T06:52:15.448Z</updated><summary type="html">This use case guide is an introduction to implementing automatic Client-Side Field Level Encryption using supported MongoDB drivers and is intended for full-stack developers. The guide presents the following information in the context of a real-world scenario:</summary><content type="html">
  &lt;p&gt;This use case guide is an introduction to implementing automatic Client-Side Field Level Encryption using supported MongoDB drivers and is intended for &lt;strong&gt;full-stack developers&lt;/strong&gt;. The guide presents the following information in the context of a real-world scenario:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;strong&gt;How Client-Side Field Level Encryption works&lt;/strong&gt; &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Reasons to choose this security feature&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;How to implement Client-Side Field Level Encryption with the MongoDB driver&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2&gt;Introduction&lt;/h2&gt;
  &lt;p&gt;Applications frequently use and store sensitive data such as confidential personal details, payment information, or proprietary data. In some jurisdictions, this type of data is subject to governance, privacy, and security compliance mandates. Unauthorized access of sensitive data or a failure to comply with a mandate often results in significant reputation damage and financial penalties. Therefore, it is important to keep sensitive data secure. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;MongoDB online course&lt;/strong&gt;&lt;/a&gt; helps you to learn more effectively along with the real time projects.&lt;/p&gt;
  &lt;h3&gt;Scenario&lt;/h3&gt;
  &lt;p&gt;In this scenario, we secure sensitive data on a Medical Care Management System which stores patients&amp;#x27; personal information, insurance information, and medical records for a fictional company, &lt;em&gt;MedcoMD&lt;/em&gt;. None of the patient data is public, and certain data such as their social security number (SSN, a US government-issued id number), insurance policy number, and vital sign measurements are particularly sensitive and subject to privacy compliance. It is important for the company and the patient that the data is kept private and secure.&lt;/p&gt;
  &lt;p&gt;MedcoMD needs this system to satisfy the following use cases:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Doctors use the system to access Patients&amp;#x27; medical records, insurance information, and add new vital sign measurements.&lt;/li&gt;
    &lt;li&gt;Receptionists use the system to verify the Patients&amp;#x27; identity, using a combination of their contact information and the last four digits of their Social Security Number (SSN).&lt;/li&gt;
    &lt;li&gt;Receptionists can view a Patient&amp;#x27;s insurance policy provider, but not their policy number.&lt;/li&gt;
    &lt;li&gt;Receptionists cannot access a Patient&amp;#x27;s medical records.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;MedcoMD is also concerned with disclosure of sensitive data through any of the following methods:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Accidental disclosure of data on the Receptionist&amp;#x27;s publicly-viewable screen.&lt;/li&gt;
    &lt;li&gt;Direct access to the database by a superuser such as a database administrator.&lt;/li&gt;
    &lt;li&gt;Capture of data over an insecure network.&lt;/li&gt;
    &lt;li&gt;Access to the data by reading a server&amp;#x27;s memory.&lt;/li&gt;
    &lt;li&gt;Access to the on-disk data by reading database or backup files.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;What can MedcoMD do to balance the functionality and access restrictions of their Medical Care Management System?&lt;/p&gt;
  &lt;h3&gt;Comparison of Security Features&lt;/h3&gt;
  &lt;p&gt;The MedcoMD engineers review the Medical Care Management System specification and research the proper solution for limiting access to sensitive data.&lt;/p&gt;
  &lt;p&gt;The first MongoDB security feature they evaluated was Role based Access control which allows administrators to grant and restrict collection-level permissions for users. With the appropriate role definition and assignment, this solution prevents accidental disclosure of data and access. However, it does not prevent capture of the data over an insecure network, direct access of data by a superuser, access to data by reading the server&amp;#x27;s memory, or access to on-disk data by reading the database or backup files.&lt;/p&gt;
  &lt;p&gt;The next MongoDB security features they evaluated which encrypts the database files on disk and Transport Encryption Using TLS/SSL which encrypts data over the network. When applied together, these two features prevent access to on-disk database files as well as capture of the data on the network, respectively. When combined with Role-Based Access Control, these three security features offer near-comprehensive security coverage of the sensitive data, but lack a mechanism to prevent the data from being read from the server&amp;#x27;s memory.&lt;/p&gt;
  &lt;p&gt;Finally, the MedcoMD engineers discovered a feature that independently satisfies all the security criteria. Client-side Field Level Encryption allows the engineers to specify the fields of a document that should be kept encrypted. Sensitive data is transparently encrypted/decrypted by the client and only communicated to and from the server in encrypted form. This mechanism keeps the specified data fields secure in encrypted form on both the server and the network. While all clients have access to the non-sensitive data fields, only appropriately-configured CSFLE clients are able to read and write the sensitive data fields. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Best MongoDB course&lt;/strong&gt;&lt;/a&gt; from industrial experts with more techniques.&lt;/p&gt;
  &lt;p&gt;MedcoMD will provide Receptionists with a client that is not configured to access data encrypted with CSFLE. This will prevent them from viewing the sensitive fields and accidentally leaving them displayed on-screen in a public area. MedcoMD will provide Doctors with a client with CSFLE enabled which will allow them to access the sensitive data fields in the privacy of their own office.&lt;/p&gt;
  &lt;p&gt;Equipped with CSFLE, MedcoMD can keep their sensitive data secure and compliant to data privacy regulations with MongoDB.&lt;/p&gt;
  &lt;h2&gt;Implementation&lt;/h2&gt;
  &lt;p&gt;This section explains the following configuration and implementation details of CSFLE:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Software required to run your client and server in your local development environment.&lt;/li&gt;
    &lt;li&gt;Creation and validation of the encryption keys.&lt;/li&gt;
    &lt;li&gt;Configuration of the client for automatic field-level encryption.&lt;/li&gt;
    &lt;li&gt;Queries, reads, and writes of encrypted fields.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h4&gt;About the Mongocryptd Application&lt;/h4&gt;
  &lt;p&gt;The MongoDB client communicates with a separate encryption application called &lt;code&gt;mongocryptd&lt;/code&gt; which automates the client-side field level encryption. This application is installed with MongoDB Enterprise Server.&lt;/p&gt;
  &lt;p&gt;When we create a CSFLE-enabled MongoDB client, the &lt;code&gt;mongocryptd&lt;/code&gt; process is automatically started by default, and handles the following responsibilities:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Validates the encryption instructions defined in the JSON Schema and flags the referenced fields for encryption in read and write operations.&lt;/li&gt;
    &lt;li&gt;Prevents unsupported operations from being executed on encrypted fields.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2&gt;Summary&lt;/h2&gt;
  &lt;p&gt;MedcoMD wanted to develop a system that securely stores sensitive medical records for their patients. They also wanted strong data access and security guarantees that do not rely on individual users. After researching the available options, MedcoMD determined that MongoDB Client-Side Field Level Encryption satisfies their requirements and decided to implement it in their application. To implement CSFLE they:&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;1. Created a Locally-Managed Master Encryption Key&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;A locally-managed master key allowed MedcoMD to rapidly develop the client application without external dependencies and avoid accidentally leaking sensitive production credentials.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;2. Generated an Encrypted Data Key with the Master Key&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;CSFLE uses envelope encryption, so they generated a data key that encrypts and decrypts each field and then encrypted the data key using a master key. This allows MedcoMD to store the encrypted data key in MongoDB so that it is shared with all clients while preventing access to clients that don&amp;#x27;t have access to the master key.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;3. Created a JSON Schema&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;CSFLE can automatically encrypt and decrypt fields based on a provided JSON Schema that specifies which fields to encrypt and how to encrypt them. &lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;MongoDB online training&lt;/strong&gt;&lt;/a&gt; for more skills.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;4. Tested and Validated Queries with the CSFLE Client&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;MedcoMD engineers tested their CSFLE implementation by inserting and querying documents with encrypted fields. They then validated that clients without CSFLE enabled could not read the encrypted data.&lt;/p&gt;

</content></entry><entry><id>mongodb:Hf7hLYpy5</id><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb/Hf7hLYpy5?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><title>Which Is the Best MongoDB GUI</title><published>2020-05-15T04:45:34.217Z</published><updated>2020-05-15T04:45:34.217Z</updated><summary type="html">In this article, we are going to compare 6 of the top MongoDB Graphical User Interfaces that help developers increase their productivity and manage their database. We’ll be focusing on data visualization, presentation, and editing.</summary><content type="html">
  &lt;h1&gt;Comparing MongoDB GUIs&lt;/h1&gt;
  &lt;p&gt;In this article, we are going to compare 6 of the top MongoDB Graphical User Interfaces that help developers increase their productivity and manage their database. We’ll be focusing on data visualization, presentation, and editing.&lt;/p&gt;
  &lt;p&gt;As always, your mileage will vary depending on your scenario and preferences. &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;MongoDB online training&lt;/a&gt;&lt;/strong&gt; for more techniques. Read on to find out which is the best MongoDB GUI for you, updated for 2019, that contain these key features:&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;A good visual editor to write and edit queries faster.&lt;/li&gt;
    &lt;li&gt;Autocompletion of queries.&lt;/li&gt;
    &lt;li&gt;An aggregation framework to write aggregation queries faster without errors.&lt;/li&gt;
    &lt;li&gt;Should facilitate data transfer between RDBMS and MongoDB.&lt;/li&gt;
    &lt;li&gt;Should have an excellent way to measure server and query performance. &lt;/li&gt;
  &lt;/ol&gt;
  &lt;h2&gt;MongoDB GUIs&lt;/h2&gt;
  &lt;h3&gt;1. Studio 3T&lt;/h3&gt;
  &lt;p&gt;Studio 3T is probably the most advanced GUI tool out there for MongoDB. They have almost every feature mentioned above and perform very well in each sector. Over 100,000 users are leveraging the Studio 3T MongoDB GUI, including leading organizations such as AT&amp;amp;T, Nike, Microsoft, Google, Intel, and Tesla.&lt;/p&gt;
  &lt;p&gt;Their quality is also evident from their prices. Although they have three types of paid plans; Core, Pro, and Enterprise, their free package for non-commercial use have all the core features. Studio 3T paid versions are costlier than any other tool because it was designed for large enterprise organizations, and those plans start at 9/user/year.&lt;/p&gt;
  &lt;h3&gt;2. NoSQLBooster&lt;/h3&gt;
  &lt;p&gt;NoSQLBooster is a popular shell-centric GUI tool that supports Linux, Windows, and Mac OS. It was formerly known as MongoBooster but changed their name for trademark reasons. They have a free edition with limited features, but if you want to harness the full power of it, go for a paid personal or commercial license, starting at 9/version/user.&lt;/p&gt;
  &lt;p&gt;One of their most highlighted features is a true Intellisense experience, which is their built-in language service that knows all possible code suggestions to help you out as you type. Anyone who uses NoSQLBooster would admire its ability to autocomplete variables, methods, keywords, properties, and even the MongoDB collection names. They offer you tons of built-in snippets to write your shell script queries faster.&lt;/p&gt;
  &lt;p&gt;NoSQLBooster offers several unique features to their customers, including their Fluent Query Builder. If you are coming from a jQuery or JavaScript background, you are probably more familiar with chaining functions than writing JSON objects. With Fluent Query Builder, you can build up queries using chaining syntax.&lt;/p&gt;
  &lt;p&gt;Another vital feature unique to NoSQLBooster is that it allows you to use npm packages&lt;/p&gt;
  &lt;p&gt; in your MongoDB shell script. As you probably know, the npm registry is the largest software registry with almost half a million free packages. &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;best mongoDB course&lt;/a&gt;&lt;/strong&gt; for better skills.&lt;/p&gt;
  &lt;p&gt;Importing and exporting data from other data sources is an essential feature for any GUI tool. With NoSQLBooster, you can:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Directly import and export collections from/to JSON/CSV file.&lt;/li&gt;
    &lt;li&gt;Import data from RDBMS like MySQL, PostgreSQL, and SQL Server.&lt;/li&gt;
    &lt;li&gt;Similarly, you can export data from MongoDB to MySQL, PostgreSQL, SQL Server, and Oracle.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;NoSQLBooster also has a test data generator, which is not something you usually expect when trying to buy a GUI tool, but nonetheless a handy tool. Their test data generator allows you to create an extensive collection of random fake data so you can easily test your MongoDB queries.&lt;/p&gt;
  &lt;h3&gt;3. MongoDB Compass&lt;/h3&gt;
  &lt;p&gt;MongoDB compass, MongoDB’s own GUI tool, supports the latest MongoDB versions and is available on Linux, Mac, or Windows. Introduced in MongoDB 3.2, Compass was developed to provide all the power of the mongo shell through an easy GUI tool. They always keep the free community version good enough to use MongoDB effectively, and you can expect them to improve this tool to continue enhancing its usability.&lt;/p&gt;
  &lt;p&gt;MongoDB Compass paid plans are only available through their Enterprise subscription or their more expensive Atlas subscriptions. This is a notable con, as organizations are trying to avoid vendor-lock-in, and also leverage DBaaS platforms that support multiple database types.&lt;/p&gt;
  &lt;p&gt;Here are some of the key advantages of MongoDB Compass:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;Provides an intuitive GUI through which you can visualize and work with data&lt;/li&gt;
    &lt;li&gt;Insert, modify, and delete your data with powerful visual editing tools&lt;/li&gt;
    &lt;li&gt;View query performances with visual explain plans&lt;/li&gt;
    &lt;li&gt;Real-time server statistics gives you insight into server status&lt;/li&gt;
    &lt;li&gt;Write JSON schema validation rules in its intelligent editor to validate your data&lt;/li&gt;
    &lt;li&gt;Add new functionalities or improve existing functionalities via plugins&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3&gt;4. NoSQL Manager&lt;/h3&gt;
  &lt;p&gt;NoSQL manager was a popular tool since its inception for its ability to merge a friendly UI with a powerful shell. It fully supports the latest MongoDB versions as well as older versions going back to 2.2.&lt;/p&gt;
  &lt;p&gt;Just like the rest, NoSQL Manager offers a free commercial as well as paid subscription plans. Their free plan offers limited features, including connection, shell management, monitoring, data manipulation, and support, and you can compare them here on their plan comparison page. NoSQL Manager paid plans are available for /version/user.&lt;/p&gt;
  &lt;p&gt;The fully functional GUI supports all the commands available for MongoDB shell, and helps save time for MongoDB professionals and beginners alike. Their autocompletion allows you to autocomplete all shell commands, collection names, and methods used in MongoDB. Similar to Studio 3T, NoSQL Manager supports all three views; table view, tree view, and JSON view.&lt;/p&gt;
  &lt;p&gt;NoSQL Manager has put a lot of effort towards improving performance monitoring, as they consider it one of the most important parts of database administration. Its’ fair judgment as observing the state of your database allows you to detect issues before they escalate to failures. Performance monitoring tools display database metrics such as read and write operations, number of client requests, memory and network usage, and number of page faults.&lt;/p&gt;
  &lt;h3&gt;5. Robo 3T&lt;/h3&gt;
  &lt;p&gt;Robomongo, which was one of the top contenders in our 2016 update, was acquired by 3T Software Labs, and rebranded the GUI as Robo 3T. 3T Software Labs will develop Robo 3T parallelly with its own MongoDB GUI, Studio 3T. The good news is Robo 3T will continue to be a free tool for commercial or non-commercial use. This native and cross-platform GUI application is popular as the best MongoDB GUI for Mac OS X. &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;MongoDB online course&lt;/a&gt;&lt;/strong&gt; will help you to learn more effectively.&lt;/p&gt;
  &lt;p&gt;There are four features that make Robo 3T distinctive.&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;It is the only GUI tool in the list that embeds the original MongoDB shell.&lt;/li&gt;
    &lt;li&gt;Robo 3T provides real runtime autocompletion through an internal JavaScript VM.&lt;/li&gt;
    &lt;li&gt;All operations you perform on MongoDB are asynchronous.&lt;/li&gt;
    &lt;li&gt;Minimal machine resources are used.&lt;/li&gt;
  &lt;/ul&gt;

</content></entry><entry><id>mongodb:Ul5_R9wcm</id><link rel="alternate" type="text/html" href="https://teletype.in/@mongodb/Ul5_R9wcm?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=mongodb"></link><title>MongoDB and DocumentDB – The Functional Differences and Advantages</title><published>2020-05-13T13:39:28.187Z</published><updated>2020-05-13T13:39:28.187Z</updated><summary type="html">MongoDB vs DocumentDB</summary><content type="html">
  &lt;p&gt;&lt;strong&gt;MongoDB vs DocumentDB&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;With the invention of newer technologies, some of the flaws of the traditional relational database scheme have become evident. If we consider Big Data Analytics then the sheer quantity and lack of structure make it difficult to implement it using RDBMS. This is where NoSQL steps in. NoSQL is an approach that incorporates several data models, such that it can handle all sorts of structured, semi-structured and unstructured data sets. There are several services that offer NoSQL such as DocumentDB, MongoDB, CouchDB etc.&lt;/p&gt;
  &lt;p&gt;In this blog post, we are going to talk about two in particular - DocumentDB and MongoDB. for more techniques go through &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;M&lt;em&gt;ongoDB online training&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt; The Similarities of  MongoDB and DocumentDB&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;MongoDB and DocumentDB are two APIs which can be referred to as CosmosDB resource in Azure. Here, the data is stored in documents, which are then collected and they collectively form a database. There are some evident similarities and differences between both of them. The similarities are:&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;The format in which data is stored in the document is JSON or JSON like formats, such as BSON. Since JSON is a universally accepted format, this makes it easier to integrate it with other systems.&lt;/li&gt;
    &lt;li&gt;The documents can be easily queried and obtained using querying languages, that are similar to SQL.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;By contrast, MongoDB was not intentionally built to run in a PaaS environment from the ground up. Historically, MongoDB was designed and built to run on low-cost hardware running on Linux. Soon afterward, MongoDB was given support for running on Windows operating systems (although mainly for cost reasons most real-world production environments use Linux clusters exclusively).&lt;/p&gt;
  &lt;p&gt;It should be no surprise to know that MongoDB retains all the benefits of running in a user-managed environment but also incurs the challenges of managing that complexity as well. That said, it is possible to run MongoDB in Azure Cloud as both IaaS and PaaS. &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;M&lt;em&gt;ongoDB online course&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt; helps you to learn more effectively.&lt;/p&gt;
  &lt;p&gt;With IaaS, the setup is fairly straightforward like configuring any other virtual machine (note: there is no specific &amp;quot;MongoDB&amp;quot; VM template so you will have to instantiate your own Linux/Windows VM instance and then install MongoDB). With PaaS however you are in for a treat. To set up MongoDB running in a PaaS environment, such as Azure Web or Worker roles, is a non-trivial affair with very limited documentation to support the process. &lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Advantages of MongoDB&lt;/strong&gt;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;MongoDB has a feature called aggregation pipeline where multi-stage filtering can be implemented so that it can procure documents from a collection and provide a crisp, filtered output. DocumentDB can handle only simple SQL-like queries.&lt;/li&gt;
    &lt;li&gt;MongoDB provides us with full-text indexes, while DocumentDB doesn&amp;#x27;t.&lt;/li&gt;
    &lt;li&gt;Another feature unique to MongoDB is the &amp;#x27;map reduce&amp;#x27;. The data from the collection is made to go through two stages that repeatedly filter it before projecting the output.&lt;/li&gt;
    &lt;li&gt;One major advantage that MongoDB has over DocumentDB is the fact that MongoDB is a service in its own, so it can easily be integrated with multiple platforms, unlike DocumentDB, which runs on Azure.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;strong&gt;Advantages of DocumentDB&lt;/strong&gt;&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;DocumentDB is basically designed to integrate server side Javascript functions into its working. Strictly speaking, MongoDB can handle some server side Javascript functions, but it is severely limited compared to that of DocumentDB.&lt;/li&gt;
    &lt;li&gt;A key feature of DocumentDB is that it can perform Acid functions, while MongoDB can only be atomic in each document. This is more of a disadvantage of MongoDB, rather than an advantage of DocumentDB.&lt;/li&gt;
    &lt;li&gt;When it comes to indexing, DocumentDB has a rather over-the-top approach. It fully indexes everything. This results into good performance. It should be mentioned, however, that it is possible to implement custom indexing policies, to provide better control over what is being indexed.&lt;/li&gt;
    &lt;li&gt;A very important feature of any NoSQL service is scaling, and DocumentDB makes it very easy to set up a world-wide cluster, with options for everything from consistency levels to configuring failovers for potential errors. Again, this is possible in MongoDB, but it is relatively limited and also, much harder.&lt;/li&gt;
    &lt;li&gt;DocumentDB, as a part of Azure, provides built-in security as well.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;There are several factors to consider when selecting which NoSQL service to use for your purpose. If your task requires complex filtering from all the documents in the collections, then MongoDB with its aggregation pipelining and map-reduce features would be a better choice. If it can be implemented with simple SQL like queries, then maybe DocumentDB could handle your task. Also, if your task requires multi-document ACID transactions then DocumentDB should be selected. Not to mention, if server-side Javascript functions are required, then probably you should go for DocumentDB. for more info &lt;strong&gt;&lt;a href=&quot;https://onlineitguru.com/mongodb-training.html&quot; target=&quot;_blank&quot;&gt;MongoDB online training India&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;There are several advantages to each service, and proper research must be conducted so that a learned decision can be made.&lt;/p&gt;

</content></entry></feed>