Obsługa MongoDB w PHP
17 September 2009
Comments
MongoDB to nierelacyjna baza danych "dokumentów". Jest wysoce wydajna, napisana w C++ i wydawana na otwartej licencji. Celem MongoDB jest zapełnienie przestrzeni pomiędzy "magazynami" klucz-wartość (o wysokiej skalowalności), a tradycyjnymi bazami relacyjnymi (które posiadają bardzo rozbudowaną funkcjonalność). Dokładny opis samej bazy znajduje się w Bibliotece Pythona. Użytkownicy Zend Framework mogą także zainteresować się Logging to MongoDb and accessing log collections with Zend_Tool
.MongoDB i PHP
Dla PHP dostępny jest binarny moduł udostępniający pełne API dla MongoDB. Wszystko, wraz z instalacja i użyciem opisane jest na wiki Mongo.
- Pobieramy kod z repozytorium GIT:
git clone git://github.com/mongodb/mongo-php-driver.git
- Wchodzimy do katalogu i kompilujemy moduł:
Jeżeli "./configure" lub "make" wysypie się z komunikatem o zbyt starych plikach aclocal to należy wykonać polecenia aclocal i autoconf i następnie "make" i "make install" (instalacja wymaga uprawnień roota lub sudo).
phpize ./configure #aclocal #autoconf make make install
- Do php.ini (/etc/php*/.../php.ini zazwyczaj) dodaj:
extension=mongo.so;Po restarcie serwera apache "mongo" powinno być widoczne w phpinfo.
<pre><?php
$connection = new Mongo();
$db = $connection->selectDB( "testowa" );
$collection = $db->selectCollection( "test" );
$doc = array( "name" => "MongoDB",
"type" => "database",
"count" => 1,
"info" => (object)array( "x" => 203,
"y" => 102),
"versions" => array("0.9.7", "0.9.8", "0.9.9")
);
$collection->insert($doc);
print_r($collection->findOne());
RkBlog
Comment article