Hello. You can go to the following links in order to check how to install and use MongoDB. The main steps are; install MongoDB, start the MongoDB server, and start the MongoDB client session, connect to a test database that comes with installation and start doing some queries. There are different types of queries that can be executed in MongoDB. Key-value queries return results based on a field and a certain value. Rank queries return results based on inequalities such as greater than, less than, equal to, between two values, et cetera. Geospatial queries return results based on proximity such as intersection and inclusion in a point, line, circle or polygon. Text-type queries return results according to words using Boolean operators such as and, or and not. Summarization queries return results of averages, minimums, maximums, totals, et cetera. MapReduce queries return results on the data of the entire cluster when the collections are distributed. At a table in a relational database corresponds to a collection in MongoDB. There is an insert sentence to feed the Mongo database. The sentence find allows obtain information from Mongo like select in relational databases. We can establish some conditions in order to filter data with find and the condition within curly brackets. We can limit the query outputs to one with the find one sentence. The results are distinct function to get unique data values. This table shows the most common sentences used in MongoDB and it's similar on SQL. As you can see, there are sentences to insert, update, delete, create Index and Show the query plan. Although MongoDB allows binary data to be saved in BSON objects, its size limit is 16 megabytes. GridFS is a specification for saving large files in MongoDB by a mechanism to transparently divide a large file into several documents. Each file has a metadata object in the files collection and one or more chunk objects in the chunks collection. If you need to store large files on MongoDB, go to the link shown for further information. Indexes in MongoDB allow the rapid scanning of documents avoiding the rote of entire collection using a special data structures that store only a portion of it. Using B-trees, the index stores the value of a specific fields, order by the value of those fields. Indexes are defined at the collection level and if they are appropriate, MongoDB can use them to limit the number of documents to be inspected. When the search criteria and the query projection include only the index fields, MongoDB can return results directly from the index without scanning any other document. An example of index and how to use it is shown in the following figure. The query obtains a range of documents with score value less than 30 with the search criteria. A projection in MongoDB uses the value one for fields that you want to recover and zero for fields that you want to exclude. Composite indexes maintain references to multiple fields within a collection of documents. The following figure illustrates an example of an index composed of two fields. In this figure, the index is first ascending order based on the userid field and then descending order by the score field. Composite indexes support queries in any prefix of the index fields. The index prefixes are the certain subset of the index set fields. For example, given the following index. The syntax for creating an index in the Mongo shell is as follows. Where collection is the name of the collection, if the value of one is assigned, the values of the field are ordered ascending and if the value is minus one the ordering is descending. Here we have an example of text search. In the first place, we insert five records to the collection stores, then we need to create an index called text and finally, we get information with find indicating the text index i looking for Java coffee shop text which search. Now, we will learn how to design and implement an information system with a document database. There are several strategies to relate data in MongoDB. In order to design the database, preferably decompose the one-to-many cardinality into: one to a few, one to many, and one to millions. In the case of one to few relationship, use the embedded or denormalized mode. A document contains an array of other documents. The advantage is that we can read and write data in a single access. The disadvantage is that it is not scalable and not independent of access to embedded data. Here we have the name, social security number for a person Kate Monster and its relationship to two addresses. In the case of one-to-many relationship, use the fix mode. That means the documents contain fixes with the IDs of other documents. The advantage is that it is moderately scalable. There are independent readings and updates for both documents. It also supports many-to-many relationships. The main disadvantage is that to associate data, you have to do a manual join which requires two accesses to the database. In the case of one-to-millions ratio or not bonded, use the normalized mode which is an approach very similar to design in relational databases. Children documents point to the ID of your parent document. The advantage is that it's highly scalable. It allows independent readings and updates for both documents and it's also appropriate for one-to-many relationships. The disadvantage is that to associate data, you have to do a manual join, which requires two accesses to the database. The following view shows the main characteristics of MongoDB. We had a quick look at the main characteristics of a document database with MongoDB. Next session, we will understand the characteristics and advantages of graph databases. I look forward to see you soon