Eu já devia ter escrito sobre isso.

Mas tava ocupado no reddit.com achando a imagem que acompanha este post.

O propósito deste artigo não é te ensinar nada. Estranho, né? Um blog que não faz tutoriais, blergh…

O propósito deste artigo, ó serumaninho, é que vejas como o MongoDB é fácil de usar e dispensa comentários. Te desafio a migrar!!!

mongo colecao

Aqui vamos criar uma coleção chamada “colecao” pois eu sou extremamente criativo para exemplos. Caso essa database não exista, o MongoDB cria pra gente.

db

Esta variável armazena a database sendo usada no momento. Ela é FUCKING EXTREMAMENTE útil pra agilizar, né. Uma vez que:

db.colecao.find()

Esta é nossa forma de resgatar todos os dados da nossa coleção. Note que não passamos nada dentro do find() pois queremos todos os resultados. Ali, no caso, seriam os argumentos de filtro, exceção, etc.

db.colecao.findOne()

Este nosso amigo encontra resultados mais específicos. Digamos que você queira buscar um objeto e você sabe um dos valores que há dentro dele.

db.colecao.findOne({ name = "Dollynho" })

Este comando rodará e buscará todos os objetos que possuam um “name” igual a “Dollynho”. Se você possui algum dom divino (não foi o meu caso) e percebeu que isso poderia ser feito direto no .find() eu te digo o motivo de NÃO fazermos direto no .find():

Ele não retorna objetos com  acesso direto como queremos. Se você filtrar algo através de um find() e armazená-lo numa variável:

var objeto = db.colecao.find({ name = "Dollynho" })

Você simplesmente não poderá fazer isso com seu objeto de retorno:

objeto.name;

objeto.idade;

SACOU, seu resumaninho carinhoso? Quando eu estiver mais craque eu explico o porquê.

Mas usando .findOne() eu consigo acessar estas propriedades e editá-las com maestria:

objeto.name = "Pepsi-Cola";

DICA: para salvar suas mudanças no banco e evitar de dar treta, você precisa depois disso dar o comando save() passando seu objeto editado como parâmetro. O MongoDB vai comparar se existe algum objeto igual a este no banco e vai fazer o trabalho todo lá bonitinho, e ainda vai te mostrar as linhas afetadas, etc. Bem loco, empolgante.

 

Anúncios