Conexão PHP com mongoDB

Índice
As Bancos de dados NoSQL eles vêm assumindo uma grande relevância nos últimos anos. Seu design escalonável e a possibilidade de administrar estruturas de forma independente fazem delas uma alternativa para as novas formas de desenvolvimento que estão ocorrendo no mundo.
Por isso, devemos ter em mente que é uma realidade que em breve teremos que saber manejá-los como agora sabemos manejá-los. Bases de dados linguagens tradicionais, para isso precisaremos nos conectar a elas por meio de linguagens tradicionais, como as amplamente conhecidas PHP.
Um dos motores de Bancos de dados NoSQL mais popular é mongoDB, devido à sua fácil instalação e uma comunidade em desenvolvimento que nos permite aprender muito em pouco tempo com pesquisas simples na Internet.
Instalação do MongoDBA primeira coisa que devemos fazer é instalar o servidor mongoDB, com isso vamos obter o motor de Base de dados ser capaz de gerenciar nossas novas bases NoSQL. Por se tratar de um motor novo, foi desenhado para poder ser instalado em diversas plataformas. Vamos explicar como fazer isso em dois dos sistemas operacionais mais importantes da atualidade janelas Y Linux em sua versão Ubuntu.
Para instalar mongoDB em Ubuntu Devemos seguir alguns passos simples para habilitar o pacote, uma vez que esses passos forem concluídos, podemos usar o apt-get install normalmente, vamos ver.
1- Primeiro devemos importar a chave pública, para isso vamos abrir um novo console ou terminal e escrever o seguinte comando:
sudo apt-key adv --keyserver hkp: / /keyserver.ubuntu.com:80 --recv 7F0CEB10

2- Em seguida, devemos adicionar um arquivo de lista para mongoDB, para isso devemos fazer o seguinte:
echo 'deb http: / /downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list

3- Agora podemos finalmente instalar o serviço, para isso vamos primeiro atualizar nossas dependências e depois instalar o pacote:
sudo apt-get update

Uma vez que tudo esteja atualizado colocamos o comando para realizar a instalação e com isso teremos o serviço disponível mongoDB em nosso sistema:
sudo apt-get install -y mongodb-org

Instalação em janelas é mais simples, só precisamos ter certeza de que temos Windows Vista ou algo mais recente, já que infelizmente a última versão do mongoDB não compatível com Windows XP.
Em seguida, visitamos o site oficial do mongoDB e escolhemos a versão que mais se aproxima da configuração do nosso sistema operacional:

PROLONGAR

Após o download do executável, nós o instalamos e, em seguida, realizaremos as seguintes etapas para que o serviço possa ser iniciado corretamente:
1- Devemos criar uma pasta de dados onde mongoDB pode armazenar as coleções de documentos de nossos bancos de dados, para isso a partir do console de comando, com permissões de administrador, vamos localizar no diretório apropriado e criar uma nova pasta. Para isso, usamos o seguinte:
md \ data \ db

2- Depois de criar a pasta devemos iniciar o serviço mongoDB fazemos isso ao executar mongod.exe, o caminho deve ser semelhante ao seguinte, dependendo de onde instalamos e da versão do mongoDB que temos:
C: \ Arquivos de programas \ MongoDB 2.6 Standard \ bin \ mongod.exe

Vamos ver na imagem a seguir onde percebemos que tudo correu bem quando o console nos diz que mongoDB aguarde novas conexões:

Uma vez que instalamos com sucesso nosso serviço mongoDB, agora devemos contar PHP como você deve se comunicar com ele, para isso devemos baixar o driver apropriado e ativá-lo no php.ini como uma extensão.
Para janelas podemos baixar o driver do repositório oficial do mongoDB no seguinte caminho: s3.amazonaws.com/drivers.mongodb.org/php/index.html onde teremos várias opções, devemos selecionar a mais recente e estável.
Identifique a extensãoDepois que o arquivo é baixado, descompactamos e procuramos a extensão que se adapta à nossa versão do PHP, no meu caso como estou executando o versão 5.4 usarei php_mongo-1.6.0RC2-5.4-vc9.dll e nós o renomeamos como php_mongo.dll.
Em seguida, devemos mover o arquivo para o diretório de nossas extensões, que seria:
C: \ wamp \ bin \ php \ php5.4.12 \ ext

Com a extensão adicionada, precisaríamos apenas adicionar o php.ini a seguinte linha: extension = php_mongo.dll
Finalmente nós reiniciamos nosso servidor Apache e nós executamos phpinfo () Para verificar se a extensão está habilitada, pesquisamos com CTRL + F palavra Mongo e veremos as informações de nossa extensão:

PROLONGAR

Com isso verificado estaremos prontos para trabalhar com PHP Y mongoDB em nosso ambiente janelas.
Para Linux leva algumas etapas extras, precisamos instalar primeiro Pera, para isso, faremos o seguinte no console ou terminal:
sudo apt-get install php5-dev php5-cli php-pear

Em seguida, procedemos à instalação do driver, para fazer isso a partir do console ou terminal, executaremos a seguinte instrução:
sudo pecl install mongo

Finalmente, devemos abrir nosso php.ini e ative a extensão:
extension = mongo.so

Com isso podemos reinicie nosso servidor apache e estaremos prontos para começar a trabalhar Linux.
Já fizemos configurações técnicas suficientes para você mongoDB Y PHP pode se comunicar, no entanto, devemos ver um pouco como esse motor funciona Bases de dados para ter uma ideia do que podemos alcançar com o NoSQL.
Coleções e documentosEm primeiro lugar, devemos saber que não existem tabelas, mas coleções e você não é registros armazenados, mas documentos, isso nos dá a liberdade de que não é necessário seguir uma estrutura rígida e que cada documento pode conter todos os dados de que você precisa.
Um exemplo clássico é o de autores e seus livros, em uma Base de dados relacional, devemos criar um mesa de autores, então devemos criar um Tabela de livros e no último devemos ter um campo onde associamos o id ou identificador único do autor com cada livro, não é nada para se escrever e é bastante funcional.
Como funciona o mongoDB?Em mongoDB vamos simplesmente criar um coleção autores chamados e cada um documento será um autor, mongoDB é responsável por criar um identificador único automaticamente, mas podemos adicionar uma propriedade que nos ajuda a identificar cada autor de forma adequada, então podemos criar dentro de cada autor um nova propriedade chamamos livros e lá vamos armazenar todos os seus títulos, então se quisermos um autor que não tenha livros, basta consultar o documento que não tem a propriedade livros dentro da coleção.
Isso mostra que não existe uma relação estabelecida entre autores e livros, simplesmente existe um documento que pode ou não conter aquela parte, na verdade é tão versátil que podemos criar um autor que contenha uma propriedade chamada livros infantis e que outros autores não tenham, desta forma não teremos que criar novos relacionamentos ou tabelas, simplesmente o documento de coleção o terá.
Tendo já coberto as bases adequadas de tudo o que precisamos saber antes de podermos nos conectar com PHP, vamos revisar o que precisamos:
  • Um servidor para executar PHP, por exemplo Apache.
  • O serviço mongoDB instalado e ativo esperando por conexões.
  • Ter instalado o driver PHP para mongoDB.
  • Um editor de texto simples e a possibilidade de funcionar em nosso servidor PHP código que escrevemos.

A primeira coisa que devemos fazer é criar um objeto da classe MongoClient, isso não deve ser problema se instalamos o driver corretamente, então com esse objeto estabelecemos o nome do nosso Base de dados, neste caso colocamos biblioteca, então definimos o nome da coleção e agora podemos inserir os dados, vamos ver o código-fonte deste exemplo:
 biblioteca; $ coleção = $ db-> autores; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ coleção-> inserir ($ autor); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ coleção-> inserir ($ autor); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ coleção-> salvar ($ autor); ?> var13 -> 

Vemos como cada um dos registros que são realmente documentos de nossa coleção, nós os construímos na forma de variedade em nosso programa, então apenas passamos esse array para o objeto coleção e nós executamos o método inserir, isso nos dá facilmente a maneira de inserir dados em nossa coleção em mongoDB, vamos ver na imagem a seguir como depois de executar nosso código em nosso servidor, nosso Base de dados ligar biblioteca:

PROLONGAR

Como vimos a facilidade com que inserimos os dados, faremos agora uma pequena consulta, desta forma demonstraremos como funciona a extração de dados dos documentos.
Para isso vamos fazer as conexões necessárias novamente como no exemplo anterior, mas agora vamos usar o método findOne () com o objeto coleção, desta forma, podemos consultar qualquer uma das propriedades do documento na coleção, como o autor que criamos, vamos ver o código:
 biblioteca; $ coleção = $ db-> autores; $ author = array ('autorid' => 1, 'name' => 'Dan Brown'); $ coleção-> inserir ($ autor); $ author = array ('autorid' => 2, 'name' => 'Chuck Palahniuk'); $ coleção-> inserir ($ autor); $ author = array ('autorid' => 3, 'name' => 'Max Brooks'); $ coleção-> salvar ($ autor); $ documents = $ collection-> findOne (array ('autorid' => 2)); echo "Consultar dados:
"; jogou fora "Chave primária do Mongo: {$ documents ['_ id']}
"; jogou fora "Nome do autor: {$ documents ['name']} ";?> var13 ->

Finalmente podemos percorrer os resultados como se fosse um array e simplesmente indicar o índice de cada propriedade que precisamos imprimir, além disso, incluímos a propriedade no exemplo _eu ia para que possamos visualizar como mongoDB gera a chave primária ou campo de identificador exclusivo. Vamos ver o resultado em nosso navegador quando executamos nosso código:

Existem algumas ferramentas que podemos usar para gerenciar nossas páginas da web. Bases de dados em mongoDB.
Um deles é o Genghis, para isso podemos simplesmente baixar ou clonar o projeto em nosso diretório www ou equivalente, onde podemos levantar uma página em localhost e podemos ver nossa instalação de mongoDB e seus dados, para terminar, vamos ver como é essa ferramenta útil:

PROLONGAR

Com isso terminamos este tutorial, já temos uma base para poder entrar no mundo da NoSQL, que está na tendência atual no gerenciamento de grandes coleções de dados, muitos podem questionar fazer a conexão em PHP ter alternativas como node.js, a resposta é simples, porque existem muitos sistemas de Processo interno feitos nesta linguagem e com esse conhecimento, seremos capazes de reutilizar nossos códigos ao longo da vida enquanto nos atualizamos para as novas tecnologias.
wave wave wave wave wave