Skip to content

Jak łączyć i rozwijać operacje CRUD dla MongoDB w PHP + Przykłady

29 de maj de 2023

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);surowe operacje php
  • 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

dołącz do naszego kanału telegram