Chegou a hora de migrar para o MongoDB e você só sabe SQL...
Relaaxa!!
Abaixo mostro alguns comandos para você começar no mundo do MongoDB 🤩
Criando uma tabela de usuário
MySQL
CREATE TABLE `usuario` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(125) NOT NULL,
`email` varchar(125) NOT NULL,
PRIMARY KEY (`id`)
);
MongoDB
// simplesmente
db.createCollection('usuario');
// OU com validação
db.createCollection('usuario', {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "nome", "email" ],
properties: {
nome: {
bsonType: "string",
description: "deve ser uma string e é obrigatório"
},
email: {
bsonType : "string",
pattern : "@querodelivery\.com$",
description: "deve ser uma string e corresponder ao padrão de expressão regular"
}
}
}
}
})
💡Por padrão o MongoDB cria uma chave primária
_id
, do tipo ObjectId
Criando um novo usuário
MySQL
INSERT INTO usuario(nome, email) VALUES ('Wender Machado', 'wender.machado@querodelivery.com');
MongoDB
db.usuario.insert({
nome:"Wender Machado",
email: "wender.machado@querodelivery.com"
});
Buscando um usuário pelo id
MySQL
SELECT nome FROM usuario WHERE id = 1
MongoDB
db.usuario.findOne(
{
_id: ObjectId("5f9c62df2a455224b988809a")
},
{
nome: 1, // irá retornar apenas o nome
email: 0 // não irá retornar o email
})
💡No segundo parametro (projeção) também é possível renomear chaves, além de criar novos valores dinamicamente como por exemplo duas informações concatenadas.
Buscando usuários pelo nome
MySQL
SELECT id FROM usuario WHERE nome like 'Wender%'
MongoDB
db.usuario.find({ nome: { $regex: /Wender*/i } })
Paginando um resultado
MySQL
SELECT id, nome, email FROM usuario LIMIT 20 OFFSET 10;
MongoDB
db.usuario.find({ nome: { $regex: /Wender*/i } }).skip(10).limit(20)
Atualizando um usuário
MySQL
UPDATE usuario SET nome = 'Wender Pinto Machado' WHERE id = 1;
MongoDB
db.usuario.updateOne(
{ _id: ObjectId("5f9c62df2a455224b988809a") }, // quem será alterado
{ $set: { nome: 'Wender Pinto Machado' } } // o que será alterado
)
Removendo um usuário
MySQL
DELETE FROM usuario WHERE id = 1
MongoDB
db.usuario.remove({ _id: ObjectId("5f9c62df2a455224b988809a") })
Além desses operadores, existem vááários outros que você encontra no menu Operator da documentação oficial.
E para realizar consultas mais robustas, temos o Aggregation, que irei abordar nos próximos posts.
🔹🔹🔹🔷🔹🔹🔹
E ai, curtiu o post? 😃
Não deixe de seguir:
Top comments (0)