Introdução
O Mongodb é um banco de dados NoSql, open-source e escrito em C++ que salva seus dados em formato JSON(usando BSON — uma versão binária de JSON) utilizando chaves e valores para isso.
O que mais diferencia o Mongo dos outros bancos NoSQL é a simplicidade em converter instruções SQL.
Alem de ser muito simples de instalar e usar, com binários e drivers disponíveis para os principais sistemas operacionais e linguagens de programação, ele ainda é suportado pelas mais populares linguagens tais como: C, C#, C++, Haskell, Java™, JavaScript, Perl, PHP, Python, Ruby e Scala.
Vantagens
- escalabilidade
- flexibilidade
- manipulação de dados em grande porte
- desempenho
- facilidade nas consultas
- comunidade ativa
- Sharding
- GridFS
- Replica set
- Orientando a documentos
- Schema livre
Desvantagens
- Alteração de todos os registros
Iniciando a conversão do MYSQL para o MONGODB ?
Criando uma tabela
CREATE TABLE `agenda` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nome` varchar(125) DEFAULT NULL, `email` varchar(125) DEFAULT NULL, `telefone` varchar(11) DEFAULT NULL, PRIMARY KEY (`id`) );
Criando uma coleção
db.createCollection( "agenda" )
Inserir registro na tabela
INSERT INTO agenda(id,nome,email,telefone) VALUES (NULL,'Tiozinho','tio@gmail.com','9999-9999');
Inseriando registro na coleção
db.agenda.insert({nome:"Tiozinho" , email: "tio@gmail.com" , telefone: "9999-9999" });
Buscando registros na tabela
//Lista todos os registros SELECT * FROM agenda
//Lista apenas o definido no paramentro SELECT * FROM agenda WHERE id = 1 // 1 é o parametro
Buscando registro na coleção
//Lista todos os registros db.agenda.find()
//Lista apenas o definido no parâmetro db.agenda.find({id:1}) // {id:1} é o parâmetro
Excluindo registro na tabela
DELETE FROM agenda WHERE id = 1
Excluindo registro da coleção
db.agenda.remove({id:1});
Atualizando um registro na tabela
UPDATE agenda SET email = 'tiozinho@gmail.com' WHERE id = 1;
Atualizando um registro na coleção
//Buscando o Tiozinho var agd = db.agenda.find({id:1});
//Alterando apenas o email agd.email = "tiozinho@gmail.com";
//Atualizando na coleção db.agenda.save(agd);
Extras: Lembrando ainda temos diversas funções do relacional que podemos utilizar tranquilo no mongodb, dentre elas podemos citar:
- drop()
- dropDataBase()
- update()
- count()
- limit()
- sort()
No próximo post utilizaremos todas as funções acima e ainda daremos uma alteração especial nas consultas utilizando mongo, espero vocês e até o próximo.