Operazioni CRUD per MongoDB in PHP

Sommario
Le applicazioni Web generalmente si concentrano su quattro operazioni di base che devono eseguire contro il loro sistema di persistenza o Banche dati, queste operazioni sono considerate fondamentali quando si impara a sviluppare per questo ambiente, ci riferiamo a Crea, leggi, aggiorna ed elimina conosciuto anche come CRUD per il suo acronimo in inglese.
MongoDB grazie al suo autista per PHP, ci permette di svolgere queste quattro operazioni in maniera molto semplice, essendo però un manager di Database non relazionali, non possiamo cadere nell'errore di trattare tutte le cose come se stessimo usando un sistema relazionale come MySQL o PostgreSQL.
RequisitiPer seguire questo tutorial, dobbiamo avere una versione di MongoDB nel nostro ambiente di test, oltre ad aver scaricato e attivato il driver corrispondente per PHP, per maggiori informazioni su come soddisfare questi requisiti puoi dare un'occhiata al seguente tutorial.
MongoDB è stato creato per essere molto efficiente nelle transazioni e nelle operazioni, in questo modo puoi risolvere i problemi della vita reale senza perdere prestazioni. UN CRUD non richiede molta potenza di elaborazione in sé, ma quando arrivano migliaia di richieste al nostro Banca dati in breve tempo è dove possiamo vedere come MongoDB ci aiuta a mantenere le prestazioni.
Le raccolte e i documenti sono entità molto potenti, poiché in mancanza di una struttura definita possiamo archiviare i dati che vogliamo mantenendo un'immagine pulita e ordinata, inoltre possiamo accedere ai dati in semplici query che nei modelli relazionali potrebbero richiedere query intermedie a molte tabelle.
Il Banche dati in MongoDB sono conosciuti come collezioni, quindi non possiamo trattarli come Banche dati tradizionale, se non come un insieme di documenti raggruppati sotto un elemento di differenziazione con un nome.
Creazione di una raccoltaPer creare una raccolta non abbiamo bisogno di alcun comando speciale, semplicemente con lo stesso comando che selezioniamo se non esiste, MongoDB Sarà incaricato di crearne uno nuovo con il nome che abbiamo specificato.
Questa semplicità semplifica il nostro lavoro, oltre a ridurre la quantità di codice che dobbiamo inserire nelle nostre applicazioni. Vediamo nell'immagine seguente un codice di esempio con cui possiamo selezionare una collezione in MongoDB:

Qui vediamo come creiamo prima l'oggetto classe Mongo (), questo è incluso durante l'installazione del driver corrispondente, quindi semplicemente utilizzando l'oggetto e digitando un nome di Banca dati è selezionato o creato. A questo punto bisogna stare attenti, visto che MongoDB non restituirà un errore se il Banca dati non esiste, ne creerà semplicemente uno nuovo, quindi dobbiamo fare un doppio controllo dei nomi che scriviamo.
Finalmente possiamo creare una collezione all'interno del Banca dati chiamate indicazioni, e con questo avremo la base su cui svolgere le nostre operazioni CRUD.
Per svolgere le altre operazioni del CRUD Dobbiamo prima avere i dati, ecco perché la prima cosa che impareremo è creare documenti o fare inserti di record, come meglio si adatta al nostro linguaggio tecnico.
Grazie all'autista MongoDBDobbiamo semplicemente creare un arrangiamento o un array, con la struttura e i dati necessari per il nostro nuovo record e quindi chiamare il metodo inserire () metodo di connessione. Non abbiamo bisogno di avere una struttura definita o seguire uno schema per essa, se un documento ha un campo e un altro no, il processo non è interessato.
Vediamo nell'immagine seguente il codice sorgente che spiega il suddetto processo:

C'è un'alternativa al metodo inserire () ed è il metodo Salva (), la differenza è che Salva () se viene specificato un identificatore univoco ed esiste, il record esistente verrà aggiornato con i nuovi dati.
Nella comunità degli sviluppatori suggeriscono di lavorare di più con Salva () cosa con inserire () per generare codice che può essere riutilizzato, ma la decisione è nelle mani di ciascuno.
Per impostazione predefinita il metodo di inserimento in MongoDB è asincrono, ciò significa che mentre il Banca dati stai inserendo o aggiornando il record PHP continua la sua esecuzione senza andare in crash. Il risultato di questo comportamento è che l'applicazione viene eseguita più velocemente anche se il motore di database non lo fa.
Poiché questo comportamento non ci sarà sempre utile, possiamo forzarlo a comportarsi in modo sincrono passando il parametro sicuro durante l'esecuzione dell'operazione, ciò causerà PHP attendi la risposta di MongoDB prima di proseguire con l'esecuzione delle sue istruzioni. La struttura dei parametri sicuro è il seguente:
$ collection-> insert ($ indirizzo, array ('safe' => true));

Per impostazione predefinita e se non diversamente specificato, MongoDB genera automaticamente le chiavi primarie dei documenti sotto il nome _ID, quando si effettua un inserire () in modo sincrono, la chiave viene impostata e posizionata nell'array appena inserito.
Quindi se vogliamo sapere qual è l'identificatore univoco, dobbiamo solo consultare questa proprietà dell'array, se seguiamo l'esempio precedente, basterebbe solo fare quanto segue:
$ id = $ collezione ['_ id'];

Passiamo ora alla seconda operazione, che consiste nel leggere le informazioni che abbiamo nei nostri documenti oppure Banche dati. Qui possiamo fare query direttamente per la chiave primaria o per qualsiasi altra combinazione di proprietà del nostro documento.
Per fare la ricerca usiamo semplicemente il metodo trova uno () e a questo passeremo un array con tutti gli elementi che andremo a filtrare. Vediamo nell'immagine seguente una query che utilizza una chiave primaria e un'altra che utilizza altre proprietà del documento:

Se notiamo qui, per cercare per chiave primaria, la prima cosa che facciamo è creare un oggetto del tipo MongoId e sei stupito del suo valore, questa è la chiave affinché tutto funzioni correttamente. D'altra parte, quando si interrogano le proprietà, è sufficiente inserire il valore all'interno dell'array senza dover creare oggetti.
Predefinito MongoDB restituirà il documento completo una volta trovata una corrispondenza, quindi se non vogliamo più di uno o pochi dati da esso, dobbiamo specificarlo in un secondo parametro che è un array delle proprietà o dei campi che vogliamo , vediamo nel codice seguente come si può fare:
$ risultato = $ collezione-> trova uno (array ('_id' => $ id), array ('nome', 'cognome'));

Quando si inserisce il codice precedente, la variabile del risultato avrà un array che contiene solo le proprietà del nome e del cognome del documento che corrisponde ai criteri di ricerca.
Passiamo ora alla terza operazione, questa è aggiornare un documento già creato all'interno della nostra collezione, qui dobbiamo stare attenti, perché se non inseriamo la forma corretta possiamo finire per sovrascrivere il documento originale invece di aggiornare o aggiungere una proprietà .
Per evitare confusione si consiglia di utilizzare $ set che è un operatore che dice MongoDB che se il parametro esiste verrà aggiornato con il valore inviato, e se non esiste verrà creato. Questo ci permette di evitare errori nella nostra applicazione e ancora meglio ci permette di fornire alla nostra applicazione la funzionalità desiderata. Vediamo come funziona:

INGRANDIRE

Ci siamo quindi resi conto come possiamo modificare il valore della proprietà della città in questo caso, tuttavia se non esistesse nel registro, verrebbe generato senza alterare ciò che già esiste.
C'è qualcosa di speciale in cui possiamo fare MongoDB e questo non si può fare in un motore relazionale, ed è la possibilità di aggiungi array all'interno dei nostri documenti, con questo possiamo aggiungere elenchi di valori all'interno di una proprietà in modo da poter generare documenti sempre più complessi e completi per le nostre esigenze, il tutto senza dover intaccare la struttura generale di altri documenti che coesistono all'interno della stessa raccolta.
Questa è l'ultima operazione, cancellare è molto semplice, quasi quanto o più che aggiungere o aggiornare, cerchiamo semplicemente un criterio o un filtro di cancellazione, lo carichiamo in un array ed eseguiamo il metodo rimuovere ().
L'unica cosa che dobbiamo tenere a mente è che MongoDB cancellerà tutti i documenti che corrispondono a questo criterio, ecco perché se vogliamo eliminarne solo uno dobbiamo usare la proprietà solo uno e mettilo dentro Vero. Vediamo di seguito il codice per eliminare un documento:

Con questo finiamo questo tutorial, abbiamo visto in modo semplice ma funzionale come possiamo includere a CRUD su una struttura non relazionale come MongoDB a partire dal PHP. Se riusciamo a padroneggiarlo, creeremo applicazioni ad alte prestazioni e molto flessibili che ci aiuteranno a impressionare i nostri utenti.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave