Como desenvolver operações CRUD para MongoDB em PHP?

As operações de CRUD criam, leem, atualizam e excluem documentos . A classe MongoDB MongoDB PHP Library Collection. Como desenvolver operações CRUD para MongoDB em PHP ?

Ele implementa a especificação CRUD do controlador cruzado do MongoDB , que fornece acesso aos métodos para inserir, pesquisar, atualizar e excluir documentos no MongoDB.

Este documento fornece uma introdução geral à inserção, consultoria, atualização e exclusão de documentos usando a Biblioteca PHP do MongoDB .

Como desenvolver operações CRUD para MongoDB em PHP?

  • Pré-requisitos: Conhecimento de PHP e Banco de Dados.
  • Vamos fazer alguma operação CRUD no script PHP.

Selecionar coleção

  • Selecionar uma coleção é como selecionar um banco de dados:
$ conn = novo Mongo ();
$ db = $ conn-> selectDB ('testdb');
$ coleção = $ db-> myc;
  • A coleção pode existir ou não existir , não importa o quê, você obterá uma coleção, pode ser a existente ou a criada.

Adicionar documento

  • É quase trivial, basta definir uma matriz e inseri-la.
$ doc = array (
'title' => 'este é o título',
'content' => "isto é conteúdo",
'categoria' => 'banco de dados'
);

$ coleção-> inserção ($ doc);

$ resultado = $ coleção-> encontrar ();

foreach ($ result como $ doc)
print_r ($ doc);
  • O foreach imprimirá todos os documentos da coleção.
Matriz
(
[_id] => Objeto MongoId
(
[$ id] => 5188bead7ab2adec27000000
)

[title] => este é title
[content] => este é o conteúdo
[categoria] => banco de dados
)
Matriz
(
[_id] => Objeto MongoId
(
[$ id] => 5188beb77ab2ad7805000000
)

[title] => este é title
[content] => este é o conteúdo
[categoria] => banco de dados
)
  • Como você pode ver, o Mongodb usa uma identificação exclusiva para identificar cada documento.

O MongoDB fornece o seguinte método para inserir vários documentos em uma coleção.
db.collection.insertMany ()

Documento de Consulta

  • Encontre um documento por ID:
$ id = new MongoId ('5188bebf7ab2ad7422000000');
$ one = $ collection-> findone (array ('_ id' => $ id));
print_r ($ um);
  • É muito semelhante às instruções de seleção SQL:
SELECT * FROM coleção WHERE _id = $ id

Você também pode selecionar por outras teclas:
$ results = $ collection-> findone (matriz (
'title' => 'este é o título',
));
  • Simulação SQL:
SELECT * FROM coleção WHERE title = 'este é título'

Como selecionar colunas particulares

$ results = $ collection-> findone (matriz (
'title' => 'este é o título',
), matriz (
'content'
));
eco $ resultados ['conteúdo'];
  • A segunda matriz são as colunas que devem ser retornadas.
Relacionado:  Como fazer a conexão com a Internet funcionar melhor

Atualizar documento

$ collection-> update (
array ('_id' => new MongoId ('5188bebf7ab2ad7422000000')),
array ('$ set' => array ('content' => 'atualizar conteúdo'))
);

$ id = new MongoId ('5188bebf7ab2ad7422000000');
$ one = $ collection-> findone (array ('_ id' => $ id));

print_r ($ um);

O conjunto $ set diz ao Mongodb que é uma atualização, não substitui o documento inteiro.

  • A atualização não pode apenas atualizar a coluna existente, mas também adicionar novas colunas:
$ collection-> update (
array ('_id' => new MongoId ('5188bebf7ab2ad7422000000')),
matriz ('$ set' =>
matriz ('keywords' =>
array ('nome', 'mongo', 'software', 'web')
)
)
);

$ id = new MongoId ('5188bebf7ab2ad7422000000');
$ one = $ collection-> findone (array ('_ id' => $ id));

print_r ($ um);
  • Partida:
Matriz
(
[_id] => Objeto MongoId
(
[$ id] => 5188bebf7ab2ad7422000000
)

[categoria] => banco de dados
[content] => atualizar conteúdo
[keywords] => Matriz
(
[0] => nome
[1] => mongo
[2] => software
[3] => web
)

[title] => este é title
)
  • Não é isso que você pode fazer facilmente em um banco de dados relacional.
O MongoDB fornece os seguintes métodos para atualizar os documentos na coleção.
db.collection.updateOne ()
db.collection.updateMany ()
db.collection.replaceOne ()

Excluir documento

$ collection-> remove (array ('_ id' => new MongoId ('5188bebf7ab2ad7422000000')), array ("justOne" => true));

Excluir muitos documentos

MongoDB Collection :: deleteMany () remove todos os documentos que correspondem aos critérios de filtro e retorna um MongoDB DeleteResult, que você pode usar para acessar estatísticas sobre a operação de exclusão.

MongoDB Collection :: deleteMany () possui um parâmetro necessário: um filtro de consulta que especifica o documento a ser excluído.

A operação a seguir remove todos os documentos em que o valor do campo de status é “ny”:

<? php

$ collection = (novo MongoDB  Client) -> test-> usuários;
$ coleção-> drop ();

$ collection-> insertOne (['name' => 'Bob', 'state' => 'ny']);
$ collection-> insertOne (['name' => 'Alice', 'state' => 'ny']);
$ deleteResult = $ collection-> deleteMany (['state' => 'ny']);

printf ("% d documentos excluídos  n", $ deleteResult-> getDeletedCount ());
  • A saída seria semelhante a:
Relacionado:  Como ativar meu Clear Chip

2 documento (s) excluído (s)

 

Você pode estar interessado:

Deixe um comentário