MongoDB

Компонент добавляет на сайт документо-ориентированную систему управления базами данных MongoDB.
http://ru.wikipedia.org/wiki/MongoDB
http://docs.mongodb.org/manual/
После установки, при желании, вы можете полность исключить СУБД MySQL из своего проекта, либо использовать СУБД MySQL и СУБД MongoDB параллельно.
Учтите, что многие компоненты Micron используют MySQL и не будут работать с MongoDB.

Настройка подключения(-ий) к БД

Настройка подключения и работы с БД находятся в файле /core/config/mongodb.php, рассмотрим параметры этого файла подбробнее:

Работа с моделями

Модель - класс предназначенный для работы с данными объектов системы.
Работа с MySQL моделями уже описана в соответствующем разделе документации.

По аналогиий с базовым классом Model, для MongoDB имеется соответствующий базовый класс MongoModel.
Хранится он там же, где и остальные модели (в папке /model).

Главное отличие MongoModel от Model это отсутствие метода CreateTable(), так как в MongoDB поля объекта задаются произвольно (в момент присвоения).

Второе отличие это ключевое поле. В MongoModel оно всегда имеет имя _id.
Подробнее об _id в MongoDB и о том как оно генерируется можно почитать в официальной документации:
http://docs.mongodb.org/manual/reference/object-id/

Далее идет пример простой модели пользователя.
В соответствии со своим именем, готовая модель должна быть расположена по адресу /model/UserMongoModel.php

    class UserMongoModel extends MongoModel
    {
        public function __construct($id = NULL, $readOnly = false)
        {
            global $g_mongoDatabases;
            $collection = $g_mongoDatabases->users; // Таблица (коллекция) users создаётся при первом обращении (то есть здесь)
            parent::__construct($collection, $id, $readOnly);
        }

        public function FindAll($from = 0, $count = 0xffff, &$total = 0)
        {
            $cursor = $this->collection->find(array(), array("_id" => 1));
            $total = $cursor->count();
            $arr = $cursor->skip($from)->limit($count);
            $ret = array();
            foreach ($arr as $a)
            {
                $ret[] = $a["_id"]->__toString();
            }
            return $ret;
        }
    };