{"id":1342,"date":"2021-07-20T19:55:32","date_gmt":"2021-07-20T19:55:32","guid":{"rendered":"https:\/\/4linux.com.br\/?page_id=1342"},"modified":"2023-10-10T20:46:48","modified_gmt":"2023-10-10T20:46:48","slug":"o-que-e-mongodb","status":"publish","type":"page","link":"https:\/\/4linux.com.br\/o-que-e-mongodb\/","title":{"rendered":"Banco de dados NoSQL MongoDB"},"content":{"rendered":"\n

O MongoDB \u00e9 um banco de dados do tipo Documento (Document Store) que utiliza JSON (JavaScript Object Notation) como formato de dados.<\/p>\n\n\n\n

Os bancos de dados NoSQL s\u00e3o definidos pela forma como armazenam os dados internamente, podendo ser: Documents, Graphs, Key-value pairs ou Wide Column.<\/p>\n\n\n\n

O banco de dados do tipo ‘Documents’ \u00e9 um dos tipos mais vers\u00e1teis que temos no mundo NoSQL, possuindo um schema definido como flex\u00edvel que permite que os registros e documentos possuam campos com diferentes tipos e em diferentes quantidades sem a exist\u00eancia de um schema fixo. Tais documentos s\u00e3o definidos em formato JSON, utilizando conceitos pr\u00f3ximos do modelo Orientado a Objetos onde o objeto aqui equivaleria a um documento. Novos campos podem ser adicionados facilmente, permitindo uma r\u00e1pida evolu\u00e7\u00e3o da aplica\u00e7\u00e3o em desenvolvimento. Exemplos: MongoDB e CouchDB.<\/p>\n\n\n\n

O MongoDB n\u00e3o possui um schema definido assim como os bancos de dados relacionais, mas isso n\u00e3o quer dizer que ele n\u00e3o possui qualquer schema. O que temos no MongoDB \u00e9 um schema flex\u00edvel, que permite a cria\u00e7\u00e3o de documentos livremente, adicionando novos campos conforme a demanda do desenvolvimento da aplica\u00e7\u00e3o, agilizando justamente esse processo. Mas caso necess\u00e1rio o MongoDB pode ser configurado para garantir que campos e tipos de dados sejam definidos, para isso fazendo uso de validators que podem ser criados em uma collection. O MongoDB suporta diversos tipos de \u00edndices: unique, compound, hash, range, text e geospatial. Para cria\u00e7\u00e3o de consultas complexas podemos utilizar o processo aggregate que implementa um conceito de pipeline de tratamento de informa\u00e7\u00f5es. Nesse processo podemos gerar estat\u00edsticas e informa\u00e7\u00f5es de an\u00e1lise do conjunto de dados.<\/p>\n\n\n\n

Algumas das caracter\u00edsticas mais importantes do MongoDB s\u00e3o:<\/p>\n\n\n\n