quarta-feira, 17 de julho de 2013

     Após a instalação, iremos abrir duas janelas do prompt de comando. Na primeira, vamos digitar mongod. Este é o processo principal para o sistema MongoDB. Ele lida com as solicitações de dados, gerencia formato de dados e realiza operações de gestão de background.

     Na outra janela do prompt digitamos o comando mongo para termos acesso ao shell. Por default, mongo procura por uma base de dados na porta 27107, no seu localhost.

     Para selecionar uma base de dados, basta usar o comando use nome_da_base. Por padrão o mongo shell usará a base test assim que a sessão iniciar. Sempre que precisar checar em qual base está trabalhando, basta usar o comando db. Já para checar quais são as bases existentes, utilize o comando show dbs (ou show databases a partir da versão 2.4)


     Como exemplo vamos criar a base minhaBase. Para inserir dados, vamos criar dois documentos. Digite no shell

d1 = { nome: ‘Leandro’ }
d2 = {profissao: ‘engenheiro’}

     Vamos agora inserir os dados em nossa collection chamada minhaCol. No MongoDB, as collections são análogas às tabelas no mundo relacional e, diferente destes, não é necessário criar a tabela (comando CREATE TABLE no SQL). Basta utilizar os seguintes comandos:

db.minhaCol.insert(d1)
db.minhaCol.insert(d2)

     Quando você inserir o primeiro documento, o mongod criará a base minhaBase e a collection minhaCol. Para confirmar que a collection foi criada, utilize o comando show collections. Agora, vamos fazer nossa primeira query, utilizando o comando find(). No shell temos:

db.minhaCol.find()

     Esta sequencia de operações retornará os seguintes resultados:


     Todos os documentos no MongoDB devem conter um campo _id com um valor único. Se não especificado, o mongo criará automaticamente este campo, ao inserirmos os dados na collection.
     Vamos ampliar agora nossa collection. Para ganharmos tempo, vamos inserir mais documentos automaticamente com o loop abaixo:
for  (var i = 1; i <= 50; i++)  db.minhaCol.insert( { a : i } )
     Se quisermos mostrar esse resultado na tela, não será possível de uma só vez e o shell pedirá o comando it (Type “it” for more) para continuar exibindo.

     Porém, podemos fazer uma query em nossa collection e atribuir o resultado para uma variável qualquer.
var c = db.minhaCol.find()
     Agora, poderemos mostra na tela todo o resultado, utilizando um loop while e iterar pela variável c
while ( c.hasNext() ) printjson( c.next() )
     A função hasNext() retorna True se o cursor ainda possuir documentos. O método next() retorna o próximo documento do cursor. Por fim o método printjson transforma o documento em um formato Json, para exibi-lo na tela.

      Ficamos por aqui. Até o próximo post!

0 comentários:

Postar um comentário