Operacje CRUD tworzą, odczytują, aktualizują i usuwać dokumenty. Klasa MongoDB MongoDB PHP Library Collection. Jak opracować operacje CRUD dla MongoDB w PHP? Możesz wygenerować formularz za pomocą PHP.
Implementuje specyfikację c CRUDKontroler krzyżowy MongoDBktóry zapewnia dostęp do metod wstawiania, wyszukiwania, aktualizowania i usuwania dokumentów w MongoDB.
Ten dokument zawiera ogólne wprowadzenie do wstawiania, wykonywania zapytań, aktualizowania i usuwanie dokumentów Korzystając z biblioteki PHP MongoDB, możesz programować w PHP.
Jak opracować operacje CRUD dla MongoDB w PHP?
- Wymagania wstępne: Znajomość PHP i baz danych.
- Zróbmy operację CRUD w skrypcie PHP, możesz pokazać bazę danych.
wybierz kolekcję
- wybierz kolekcję To tak, jakby wybrać bazę danych:
$conn = new Mongo(); $db = $conn->selectDB('testdb'); $collection = $db->myc;
- Kolekcja może istnieć lub niebez względu na wszystko, otrzymasz kolekcję, może to być już istniejąca lub stworzona.
Dodaj dokument
- To prawie trywialne, wystarczy zdefiniować tablicę i wstawić ją.
$doc = array( 'tytuł' => 'to jest tytuł', 'treść' => "to jest treść", 'kategoria' => 'baza danych' ); $kolekcja->wstaw($doc); $wynik = $kolekcja->znajdź(); foreach($wynik jako $doc) print_r($doc);
- Foree wypisze wszystko dokumenty w zbiorze.
Array ( [_id] => MongoId Object ( [$id] => 5188bead7ab2adec27000000 ) Cómo conectar y desarrollar operaciones CRUD para MongoDB en PHP + Ejemplos => this is title [content] => this is content [category] => database ) Array ( [_id] => MongoId Object ( [$id] => 5188beb77ab2ad7805000000 ) Cómo conectar y desarrollar operaciones CRUD para MongoDB en PHP + Ejemplos => this is title [content] => this is content [category] => database )
- Jak widać, Mongodb używa unikalnego identyfikatora zidentyfikować każdy dokument.
MongoDB zapewnia nam następującą metodę wstawiania wielu dokumentów do kolekcji.
db.collection.insertMany()
Dokument konsultacyjny
- Znajdź dokument według identyfikatora:
$id = new MongoId('5188bebf7ab2ad7422000000'); $one = $collection->findone(array('_id' => $id)); print_r($one);
- Jest bardzo podobny do instrukcji dla Wybór SQL:
SELECT * FROM collection WHERE _id = $id También puede seleccionar por otras teclas: $results = $collection->findone(array( 'title' => 'this is title', ));
SELECT * FROM collection WHERE title="this is title"
Jak wybrać poszczególne kolumny
$results = $collection->findone(array( 'title' => 'this is title', ), array( 'content' )); echo $results['content'];
- Druga tablica to kolumny, które należy zwrócić.
Zaktualizuj dokument
$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);
Zestaw $ mówi Mongodb, że jest to aktualizacja, nie zastępuje całego dokumentu.
- Aktualizacja może nie tylko zaktualizować istniejącą kolumnę, ale także dodać nowe kolumny:
$collection->update( array( '_id' => new MongoId('5188bebf7ab2ad7422000000')), array( '$set' => array( 'keywords' => array( 'name', 'mongo', 'software', 'web') ) ) ); $id = new MongoId('5188bebf7ab2ad7422000000'); $one = $collection->findone(array('_id' => $id)); print_r($one);
Array ( [_id] => MongoId Object ( [$id] => 5188bebf7ab2ad7422000000 ) [category] => database [content] => update content [keywords] => Array ( [0] => name [1] => mongo [2] => software [3] => web ) Cómo conectar y desarrollar operaciones CRUD para MongoDB en PHP + Ejemplos => this is title )
- Nie jest to coś, co można łatwo zrobić w relacyjnej bazie danych.
MongoDB nos proporciona los siguientes métodos para actualizar los documentos de la colección. db.collection.updateOne () db.collection.updateMany () db.collection.replaceOne ()
Usuń dokument
$collection->remove(array('_id'=> new MongoId('5188bebf7ab2ad7422000000')), array("justOne" => true) );
Usuń wiele dokumentów
MongoDBCollection::deleteMany() usuwa wszystkie dokumenty spełniające kryteria filtru i zwraca MongoDBDeleteResult, którego można użyć do uzyskania dostępu do statystyk dotyczących operacji usuwania.
MongoDBCollection::deleteMany() ma jeden wymagany parametr: filtr zapytań, który określa dokument do usunięcia.
Następująca operacja usuwa wszystkie dokumenty, w których znajduje się wartość pola statusu „nowy”:
<?php $collection = (new MongoDBClient)->test->users; $collection->drop(); $collection->insertOne(['name' => 'Bob', 'state' => 'ny']); $collection->insertOne(['name' => 'Alice', 'state' => 'ny']); $deleteResult = $collection->deleteMany(['state' => 'ny']); printf("Deleted %d document(s)n", $deleteResult->getDeletedCount());
- Dane wyjściowe będą wtedy przypominać:
Usunięto 2 dokumenty