Operações CRUD para MongoDB em PHP

Índice
Os aplicativos da Web geralmente se concentram em quatro operações básicas que precisam ser executadas em seu sistema de persistência ou Bases de dados, essas operações são consideradas essenciais ao aprender a desenvolver para este ambiente, nos referimos a Criar, ler, atualizar e excluir também conhecido como CRUD por suas siglas em inglês.
MongoDB graças ao seu motorista por PHP, nos permite realizar essas quatro operações de uma forma muito simples, no entanto, sendo um gerente de Bancos de dados não relacionais, não podemos cair no erro de tratar todas as coisas como se estivéssemos usando um sistema relacional, como MySQL ou PostgreSQL.
RequisitosPara seguir este tutorial, devemos ter uma versão do MongoDB em nosso ambiente de teste, além de ter baixado e ativado o driver correspondente para PHP, para obter mais informações sobre como atender a esses requisitos, você pode consultar o tutorial a seguir.
MongoDB foi criado para ser muito eficiente em transações e operações, desta forma você pode resolver problemas da vida real sem perder performance. UMA CRUD não requer muito poder de processamento por si só, mas quando milhares de solicitações ocorrem em nosso Base de dados em pouco tempo é onde podemos ver como MongoDB nos ajuda a manter o desempenho.
Coleções e documentos são entidades muito poderosas, pois sem uma estrutura definida podemos armazenar os dados que desejamos mantendo uma imagem limpa e ordenada, além disso, podemos acessar os dados em consultas simples que em modelos relacionais podem nos levar a consultas intermediárias.
As Bases de dados em MongoDB são conhecidos como coleções, portanto, não podemos tratá-los como Bases de dados tradicional, senão como um conjunto de documentos agrupados sob um diferenciador com um nome.
Criando coleçãoPara criar uma coleção não precisamos de nenhum comando especial, simplesmente com o mesmo comando que selecionamos se não existir, MongoDB Se encarregará de criar um novo com o nome que especificamos.
Essa simplicidade facilita nosso trabalho, além de reduzir a quantidade de código que devemos colocar em nossas aplicações. Vamos ver na imagem a seguir um exemplo de código com o qual podemos selecionar uma coleção em MongoDB:

Aqui, vemos como primeiro criamos o objeto de classe Mongo (), isso é incluído ao instalar o driver correspondente, simplesmente usando o objeto e digitando um nome de Base de dados é selecionado ou criado. Neste ponto devemos ter cuidado, uma vez que MongoDB não retornará um erro se o Base de dados ele não existe, ele apenas criará um novo, então temos que fazer uma verificação dupla dos nomes que escrevemos.
Finalmente, podemos criar uma coleção dentro do Base de dados chamados de direções, e com isso teremos a base para realizar nossas operações CRUD.
A fim de realizar as outras operações do CRUD Devemos primeiro ter os dados, por isso a primeira coisa que aprenderemos é a criar documentos ou a fazer inserções de registos, conforme melhor se adequa à nossa linguagem técnica.
Graças ao motorista MongoDBNós simplesmente temos que criar um arranjo ou array, com a estrutura e os dados necessários para nosso novo registro e então chamar o método inserir () método de conexão. Não precisamos ter uma estrutura definida ou seguir um padrão para ela, se um documento tiver um campo e outro não, o processo não é afetado.
Vejamos na imagem a seguir o código-fonte que explica o processo mencionado:

Existe uma alternativa para o método inserir () e é o método Salve  (), a diferença é que Salve  () se um identificador exclusivo for especificado e existir, o registro existente será atualizado com os novos dados.
Na comunidade de desenvolvedores, eles sugerem trabalhar mais com Salve  () com inserir () gerar código que possa ser reaproveitado, porém a decisão está nas mãos de cada um.
Por padrão, o método de inserção em MongoDB é assíncrono, isso significa que, embora o Base de dados você está inserindo ou atualizando o registro PHP ele continua sua execução sem travar. O resultado desse comportamento é que o aplicativo é executado com mais rapidez, mesmo que o mecanismo de banco de dados não o faça.
Como esse comportamento nem sempre será útil para nós, podemos forçá-lo a se comportar de maneira síncrona passando o parâmetro seguro ao executar a operação, isso fará com que PHP espere pela resposta de MongoDB antes de continuar com a execução de suas instruções. A estrutura de parâmetros seguro é o seguinte:
$ coleção-> inserir ($ endereço, array ('seguro' => verdadeiro));

Por padrão e a menos que especifiquemos de outra forma, MongoDB gera automaticamente as chaves primárias dos documentos sob o nome _eu ia, ao fazer um inserir () de forma síncrona, a chave é definida e colocada na matriz que acabamos de inserir.
Portanto, se quisermos saber o que é o identificador único, basta consultar esta propriedade do array, se seguirmos o exemplo anterior, bastaria fazer o seguinte:
$ id = $ coleção ['_ id'];

Passamos agora para a segunda operação, que é ler as informações que temos em nossos documentos ou Bases de dados. Aqui podemos fazer consultas para a chave primária diretamente ou para qualquer outra combinação de propriedades do nosso documento.
Para fazer a pesquisa, simplesmente usamos o método encontrar um () e para isso vamos passar um array com todos os elementos que vamos filtrar. Vamos ver na imagem a seguir uma consulta usando uma chave primária e outra usando outras propriedades do documento:

Se notarmos aqui, para pesquisar por chave primária, a primeira coisa que fazemos é criar um objeto do tipo MongoId e você está surpreso com o valor disso, isso é fundamental para que tudo funcione corretamente. Por outro lado, ao consultar as propriedades, basta colocar o valor dentro do array sem ter que criar objetos.
Por padrão MongoDB ele retornará o documento completo assim que encontrar uma correspondência, então se não quisermos mais de um ou alguns dados dele, temos que especificá-lo em um segundo parâmetro que é um array das propriedades ou campos que queremos , vamos ver no código a seguir como isso pode ser feito:
$ result = $ collection-> findone (array ('_id' => $ id), array ('primeiro nome', 'sobrenome'));

Ao colocar o código anterior, a variável de resultado terá um array que contém apenas as propriedades do nome e do sobrenome do documento que correspondem aos critérios de pesquisa.
Vamos agora para a terceira operação, que é atualizar um documento já criado dentro de nossa coleção, aqui devemos ter cuidado, pois se não colocarmos a forma correta podemos acabar sobrescrevendo o documento original ao invés de atualizar ou adicionar uma propriedade .
Para evitar confusão, é recomendado usar $ set que é um operador que diz MongoDB que se o parâmetro existir será atualizado com o valor enviado, e se não existir será criado. Isso nos permite evitar erros em nosso aplicativo e, melhor ainda, nos permite fornecer ao nosso aplicativo a funcionalidade desejada. Vamos ver como isso funciona:

PROLONGAR

Percebemos então como podemos alterar o valor do imóvel da cidade neste caso, porém se não existisse no cadastro, seria gerado sem alterar o que já existe ali.
Há algo especial que podemos fazer em MongoDB e isso não pode ser feito em um motor relacional, e é a possibilidade de adicionar matrizes dentro de nossos documentos, com isso podemos adicionar listas de valores dentro de uma propriedade para que possamos gerar documentos cada vez mais complexos e completos para as nossas necessidades, tudo sem ter que afetar a estrutura geral de outros documentos que coexistem dentro da mesma coleção.
Esta é a última operação, deletar é muito simples, quase tanto ou mais do que adicionar ou atualizar, nós simplesmente procuramos por um filtro de critério ou deleção, carregamos em um array e executamos o método remover ().
A única coisa que devemos ter em mente é que MongoDB irá apagar todos os documentos que correspondam a este critério, por isso, se quisermos apagar apenas um, devemos usar a propriedade apenas um e coloque-o em Verdadeiro. Vejamos abaixo o código para excluir um documento:

Com isso terminamos este tutorial, vimos de uma forma básica, mas funcional, como podemos incluir um CRUD em uma estrutura não relacional como MongoDB a partir de PHP. Se conseguirmos dominar isso, estaremos criando aplicativos de alto desempenho e muito flexíveis que nos ajudarão a impressionar nossos usuários.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave