Neste artigo criarei um CREATE e READ básico utilizando MongoDB e Node.js. Caso você não conheça o MongoDB, recomendo a leitura deste artigo que explica como realizar as operações CREATE, READ, UPDATE e DELETE no shell do MongoDB.
O MongoDB é um NoSQL. Com o Node.js, iremos acessar o banco de dados usando o node. Crie uma pasta chamada crud_mongo e abra-a no code. Abra o terminal do code para prosseguir com o artigo.
Precisamos instalar o driver oficial do MongoDB. Utilizando o NPM, vamos baixar o pacote do Mongo.
npm install mongodb
Pronto. Agora temos o pacote instalado na nossa aplicação. Com isso, já é possível manipular bases de dados do MongoDB com o Nodejs.
CRIANDO A BASE DE DADOS
Para criar o banco de dados, vamos fazer uma requisição de um objeto MongoClient, especificando o URL de conexão com o endereço do localhost, a porta a ser utilizada e passando o nome da base de dados a ser criada.
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db){
if (err) throw err;
console.log("Banco de Dados criado!");
db.close();
})
Execute o arquivo no seu servidor NodeJS. Você verá a mensagem: Banco de Dados Criado!
Observação: O banco de dados não é exatamente criado até que ele receba conteúdo. Vamos inserir conteúdo nesta base a seguir.
CRIANDO UMA COLEÇÃO
Para criar uma coleção na nossa base de dados, usaremos o método createCollection(). Neste médodo, passaremos o nome da coleção a ser criada.
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function (err, db) {
if (err) throw err;
let dbo = db.db("mydb");
dbo.createCollection("clientes", function (err, res) {
if (err) throw err;
console.log("Coleção criada");
db.close();
});
});
E pronto, a nossa coleção foi criada!
INSERINDO DOCUMENTOS NA COLEÇÃO
Para inserir um documento (registro) na coleção, podemos utilizar o método insertOne() para registros simples, e insertMany() para registros múltiplos. Vamos realizar uma inserção de apenas um documento na nossa coleção:
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function (err, db) {
if (err) throw err;
let dbo = db.db("mydb");
let myObj = {
name: "Usuario 1",
endereco: "Rua teste 1"
};
dbo.collection("clientes").insertOne(myObj, function (err, res) {
if (err) throw err;
console.log("Documento inserido");
db.close();
});
});
Se você tentar inserir documentos em uma coleção inexistente, o MongoDB criará a coleção automaticamente.
READ (find())
Para selecionar os dados de uma coleção no Mongo, podemos utilizar os métodos findOne() e find(), que seleciona um dado e todos os dados da coleção, respectivamente. Utilize o método toArray para retornar os elementos em um vetor.
const MongoClient = require('mongodb').MongoClient;
const url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function (err, db) {
if (err) throw err;
let dbo = db.db("mydb");
dbo.collection("clientes").find({}).toArray(function (err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
E nosso retorno será:
Com isso, já sabemos inserir e pesquisar dados no MongoDB utilizando o NodeJS.
Referência: https://www.w3schools.com/nodejs/nodejs_mongodb.asp
Até o próximo artigo pessoal!