Цитата:
Сообщение от bifidokk
а какая это библиотека? может быть после этой строчки есть что-то типа $lib->execute()?
|
Это
php-mongo-driver
Цитата:
Сообщение от bifidokk
т.е. первая формирует запрос, а вторая выполняет.
или может вы после $filter ошибочно (скорее всего) поставили скобку и выражение выглядит так:
 PHP код:
$lib->find(array(), $filter->skip($offset)->limit(12));
|
Нет, я всё верно написал. Полный код

PHP код:
private function getmongo($db='inpictures_dev') {
$m = new mongo();
return $m->$db;
}

PHP код:
// получаем ссылку на базу
$m = $this->getmongo('pictures');
// определяем чанк
$chank = 'cover_'.$data['id'];
$lib = $m->$chank;
// список получаемых данных для выборки ( по типу SELECT `prop1`,`prop2` в SQL )
$filter = array
( 'key' => true,
'title' => true,
'desc' => true,
'cid' => true,
'uid' => true
);
// смещение
$skip = (isSet($data['skip'])) ? (int)$data['skip'] : 0;
if (!$skip) {
$pics = $lib->find(array(),$filter);
$count = $pics->count();
$buffer = $pics->skip($skip)->limit(12);
} else {
$buffer = $lib->find(array(),$filter)->skip($skip)->limit(12);
}
суть во всём этом, при первом запросе получать количество записей в базе для пагинатора, потому я и хочу узнать принцип работы данного метода, стоит ли хранить количество элементов в кэше да бы постоянно не получать их каждый запрос или же это не имеет смысла так как данные выбираются все и всегда.