Come sviluppare operazioni CRUD per MongoDB in PHP?

Le operazioni CRUD creano, leggono, aggiornano ed eliminano documenti . La libreria MongoDB class MongoDB PHP Library Collection. Come sviluppare operazioni CRUD per MongoDB in PHP ?

Implementa la specifica CRUD cross-controller MongoDB , che fornisce l’accesso ai metodi per inserire, cercare, aggiornare ed eliminare i documenti in MongoDB.

Questo documento fornisce un’introduzione generale all’inserimento, alla consulenza, all’aggiornamento e all’eliminazione di documenti mediante la libreria PHP MongoDB .

Come sviluppare operazioni CRUD per MongoDB in PHP? 1

Come sviluppare operazioni CRUD per MongoDB in PHP?

  • Prerequisiti: conoscenza di PHP e database.
  • Faremo alcune operazioni CRUD nello script PHP.

Seleziona raccolta

  • Selezionare una raccolta è come selezionare un database:
$ conn = new Mongo ();
$ db = $ conn-> selectDB ('testdb');
$ collection = $ db-> myc;
  • La raccolta può esistere o non esistere , indipendentemente da cosa, otterrai una raccolta, potrebbe essere quella esistente o quella creata.

Aggiungi documento

  • È quasi banale, basta definire una matrice e inserirla.
$ doc = array (
'title' => 'this is title',
'content' => "questo è contenuto",
'category' => 'database'
);

$ collection-> insert ($ doc);

$ risultato = $ collection-> find ();

foreach ($ risultato come $ doc)
print_r ($ doc);
  • Il foreach stamperà tutti i documenti in raccolta.
schieramento
(
[_id] => MongoId Object
(
[$ id] => 5188bead7ab2adec27000000
)

[title] => questo è il titolo
[content] => questo è il contenuto
[categoria] => database
)
schieramento
(
[_id] => MongoId Object
(
[$ id] => 5188beb77ab2ad7805000000
)

[title] => questo è il titolo
[content] => questo è il contenuto
[categoria] => database
)
  • Come puoi vedere, Mongodb utilizza un’identificazione univoca per identificare ciascun documento.

MongoDB ci fornisce il seguente metodo per inserire diversi documenti in una raccolta.
db.collection.insertMany ()

Come sviluppare operazioni CRUD per MongoDB in PHP? 2

Documento di consultazione

  • Trova un documento per ID:
$ id = new MongoId ('5188bebf7ab2ad7422000000');
$ one = $ collection-> findone (array ('_ id' => $ id));
print_r ($ one);
  • È molto simile alle istruzioni di selezione SQL:
SELEZIONA * DA raccolta DOVE _id = $ id

Puoi anche selezionare con altri tasti:
$ results = $ collection-> findone (array (
'title' => 'this is title',
));
  • Simulazione SQL:
SELEZIONA * DA collezione WHERE title = 'this is title'

Come selezionare colonne particolari

$ results = $ collection-> findone (array (
'title' => 'this is title',
), array (
'Contenuto'
));
echo $ results ['content'];
  • La seconda matrice sono le colonne che devono essere restituite.

Documento di aggiornamento

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

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

print_r ($ one);

Il set $ set dice a Mongodb che è un aggiornamento, non sostituisce l’intero documento.

  • L’aggiornamento non può solo aggiornare la colonna esistente, ma anche aggiungere nuove colonne:
$ collection-> update (
array ('_id' => new MongoId ('5188bebf7ab2ad7422000000')),
array ('$ set' =>
array ('keyword' =>
array ('nome', 'mongo', 'software', 'web')
)
)
);

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

print_r ($ one);
  • uscita:
schieramento
(
[_id] => MongoId Object
(
[$ id] => 5188bebf7ab2ad7422000000
)

[categoria] => database
[content] => aggiorna contenuto
[parole chiave] => Matrice
(
[0] => nome
[1] => mongo
[2] => software
[3] => web
)

[title] => questo è il titolo
)
  • Questo non è ciò che puoi facilmente fare in un database relazionale.
MongoDB ci fornisce i seguenti metodi per aggiornare i documenti nella raccolta.
db.collection.updateOne ()
db.collection.updateMany ()
db.collection.replaceOne ()

Elimina documento

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

Elimina molti documenti

MongoDB Collection :: deleteMany () rimuove tutti i documenti che soddisfano i criteri di filtro e restituisce MongoDB DeleteResult, che è possibile utilizzare per accedere alle statistiche sull’operazione di eliminazione.

MongoDB Collection :: deleteMany () ha un parametro richiesto: un filtro di query che specifica il documento da eliminare.

La seguente operazione rimuove tutti i documenti in cui il valore del campo status è “ny”:

<? php

$ collection = (new MongoDB  Client) -> test-> utenti;
$ collection-> drop ();

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

printf ("Documenti% d eliminati  n", $ deleteResult-> getDeletedCount ());
  • L’output sarebbe quindi simile a:

2 documento / i cancellato / i

 

Potrebbe interessarti

Lascia un commento