23.09 2010

MongoDB - это документная база данных, написанная на c++. Для обмена данными с клиентом использует JSON, а хранит в двоичном формате BSON. По методу обмена данными эта база данных относится к NoSQL, т.е. использует не классический метод для взаимодействия реляционных баз данных и клиента (без SQL).

Для установки в Ubuntu достаточно прописать в консоле:

sudo apt-get install mongo

По окончании установки, для проверки работоспособности, выполните в консоле:

mongo

Вы должны увидеть примерно следующее приветствие:

MongoDB shell version: 1.2.2
type "exit" to exit
type "help" for help

Возможные проблемы:

mongo: error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory

Монго ругается на недостающую библиотеку, попробуем ее найти

$ find /usr/lib -name libmozjs.so
# если библиотека не нашлась, то необходимо установить firefox, и повторить
$ sudo apt-get install firefox
#У нас есть путь, теперь необходимо сделать так, что бы mongo его увидела
#для этого необходимо ее поместить в /usr/lib, это делается одним из способов ниже
$ sudo cp <lib-path> /usr/lib
$ sudo ln -s <lib-path> /usr/lib/libmozjs.so

JS Error: Error: couldn't connect: couldn't connect to server 127.0.0.1 127.0.0.1:27017 (anon):1028

Скорее всего сервер просто не запущен

sudo service mongodb start

Устанавливаем соединение PHP с MongoDB

Установку будем проводить через PECL, если он не установлен, то выполняем следующее

sudo apt-get install php-pear

sudo pecl install mongo
sudo sh -c "echo 'extension=mongo.so' > /etc/php5/conf.d/mongo.ini"
sudo service apache2 restart
php -i | grep -i mongo

Последняя команда должна вывести нечто подобное

/etc/php5/cli/conf.d/mongo.ini,
mongo
MongoDB Support => enabled
mongo.allow_persistent => 1 => 1
mongo.auto_reconnect => 1 => 1
mongo.chunk_size => 262144 => 262144
mongo.cmd => $ => $
mongo.default_host => localhost => localhost
mongo.default_port => 27017 => 27017
mongo.long_as_object => 0 => 0
mongo.native_long => 0 => 0
mongo.utf8 => 1 => 1</pre>

На этом установка завершена, можно сделать тестовое подключение

$mongo = new Mongo('localhost');
$database = $mongo -> test;

$item = array(
    "id"    => "ololo"
);

$database -> items -> insert($item);

$cursor = $database -> items -> find( array("id" => "ololo") );

foreach($cursor as $item){
    var_dump($item);
}

Надеюсь эта статья окажется вам полезной

comments powered by Disqus