O MongoDB é um banco de dados NoSQL orientado a documentos projetado para problemas que não são facilmente resolvidos por bancos de dados relacionais tradicionais. Ele armazena dados como documentos JSON semelhantes a objetos JavaScript e fornece operações de consulta, atualização e remoção flexíveis.
2. Visão Geral Foi projetado para os problemas sem grandes exigências de transações e que não são facilmente resolvidos por RDBMSs tradicionais, incluindo os problemas que exigem que o banco de dados esteja espalhado em muitos servidores.
3.
4. JavaScript Shell A primeira coisa a notar é que o shell do MongoDB é baseado em Javascript. Assim, você pode fazer coisas como: a = 5; a * 10; for(i=0; i<10; i++) { print('hello'); };
5. Documentos MongoDB é um banco de dados de documento. Isto significa que podemos armazenar dados como documentos. Que são similar a objetos JavaScript. Abaixo são alguns exemplos de objetos JS: var a = {age: 25}; var n = {name: 'Patrick', languages: ['c', 'ruby']}; var student = {name: 'Jim', scores: [75, 99, 87.2]};
6. Salvando Veja como salvar um documento no MongoDB: db.scores.save({a: 99}); Isso diz, ”salvar o documento '{a: 99}' na coleção de 'scores'.
7. Salvando e Consultando Vamos adicionar alguns documentos na coleção de scores: for(i=0; i<10; i++) { db.scores.save({a: i, exam: 5}) }; Para buscar todos os documentos adicionados: db.scores.find();
9. Consultas Básicas Como encontrar todos os documentos onde a == 2: db.scores.find({a: 2}); Ou sobre os documentos onde a > 15? db.scores.find({a: {'$gt': 15}});
10. Operadores de Consulta $gt é um dos muitos operadores especiais de consulta. Abaixo alguns outros: $lt - '<', $lte - '<=', $gte - '>=', $ne - '!=', $in – 'is in array', $nin - '! in array' db.scores.find({a: {'$in': [2, 3, 4]}}); db.scores.find({a: {'$gte': 2, '$lte': 4}});
11. Atualizando Vamos criar um documentos para depois atualizar: db.users.save({name: 'Johnny', languages: ['ruby', 'c']}); Para atualizar o documento: db.users.update({name: 'Johnny'}, {name: 'Cash', languages: ['english']});
12. Operadores de Atualização MongoDB suporta atualizações parciais de documentos. Por exempo, você pode definir um valor: db.users.update({name: 'Cash'}, {'$set': {'age': 50} }); É possível adicionar e remover itens dos arrays: db.users.update({name: 'Sue'}, {'$pull': {'languages': 'scala'} }); db.users.update({name: 'Sue'}, {'$push': {'languages': 'ruby'} });
13. Apagando Dados Para apagar tudo da coleção: db.scores.remove(); Para apagar os documentos que casam com uma consulta: db.users.remove({name: 'Sue'});
14. Mais sobre MongoDB Visite http://www.mongodb.org e verifique a documentação.