Neil Carvalho

Desenvolvimento, lifehacks e outras coisas


Sobre MongoDB

17 May 2012

Esse é o início da série não faço a mínima ideia, onde vou escrever sobre - surprise surprise - algo que não sei bem o que é.

MongoDB é uma dessas palavrinhas que vejo muita gente falar, penso “vou pesquisar sobre isso” e o tempo passa e não volta mais. Mas enfim, é mais um dos vários bancos não-relacionais que andam dando as caras há algum tempo.

As consultas no MongoBD seguem o padrão JSON (que o Ruby se aproximou nas hashes do 1.9), o que é legal por manter uma similaridade em diferentes representações de dados.

O armazenamento dos dados se dá por pares de chave-valor que ficam dentro de coleções (como “clientes”). Tudo se dá em pares de chave-valor, até as consultas. Para buscar na coleção bares os que têm capacidade entre 100 e 300 pessoas, por exemplo, a busca seria db.bares.find({ capacidade: { $gte: 100, $lte: 300 } }), onde $gte é greater than or equal to e $let é, por sua vez, less than or equal to.

Outros exemplos de consulta:

db.clientes.find( { nome: /^fulano/i } ) //adeus montar queries com upper e like
db.alunos.count({ ano: 5, turma: 'B'}) //quantos diabos o inferno tem
db.contas.find().skip(20).limit(10) //3ª página, fácil assim

Por enquanto é só isso. O MongoDB te dá o poder de definir funções em Javascript (pois é), fazer MapReduce com uma facilidade absurda e mais uma porrada de coisas. Mas fica pra próxima, porque não faço a mínima ideia de como fazer essas coisas.

comments powered by Disqus