Intereting Posts
Как исправить код состояния сервера: 302 Найден SQL Inject Me Firefox Addon php – как изменить iframe разные src каждые 5 секунд Перенос Laravel 4: установить ErrorException Дата и время в графике Google из базы данных Автозаполнение для объектов PHP с классами в PDT / Netbeans? Подходы к тайм-ауту сеансов в веб-приложении с использованием AJAX autorefreshes Временная метка Unix для дней, часов, минут Добавление новой строки в динамической форме yii2, в новой строке js не работает перенаправление на / добавление www в проекте на основе URL-кода codeigniter разрешает «http: //» в переменной get Ошибка синтаксиса при определении массива как свойства класса Получить значение массива по строке ключей Есть ли разумный способ запуска нескольких запросов в mysql, разделенных точкой с запятой; Удалите все знаки препинания из строки php для дружественного seo url отправка html-формы через jquery ajax () и serialize ()

Как «Группировать по» с MongoDB

Я хотел бы знать, есть ли в любом случае я могу «группировать» мои результаты с помощью MongoDB / Php.

Это код, который я использую для отображения строк:

$count = $col->find(array('order_id' => array('$gt' => '0')))->count(); 

Мне нужно сгруппировать их по order_id .

По-видимому, мы не можем сделать count() для group() как find()

РАБОТЫ: $countfind = $col->find()->count();

НЕ $countgroup = $col->group($keys)->count(); : $countgroup = $col->group($keys)->count();

Мне нужно считать эту группу, пожалуйста.

Спасибо за вашу помощь.

Related of "Как «Группировать по» с MongoDB"

Иногда вы можете захотеть получить массив различных значений в коллекции. Вы можете выполнить это с помощью метода distinct ():

 $ages = $dm->createQueryBuilder('User') ->distinct('age') ->getQuery() ->execute(); 

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html

На их веб-сайте есть подробная документация по команде группы.

Здесь есть несколько примеров использования группы с использованием libarary PHP .

Если ваш набор данных действительно большой, вам, возможно, придется посмотреть на работу с картами – сводится к «предварительной группировке» этих данных.

Новый ответ с использованием механизма агрегации Mongo

После того, как этот вопрос был задан и ответил, 10gen выпустил версию Mongodb версии 2.2 с базой агрегации. Таким образом, новый лучший способ сделать Group By – с оператором $ group . В PHP используйте MongoCollection :: aggregate .

FYI, 10gen также имеет удобный SQL to Mongo Aggregation chart chart, который стоит закладок. В нем есть примеры всех распространенных SQL-запросов, которые используют агрегацию SQL и как их перевести в Mongo.