Node Express Mongoose API, выберите ImageId AND count для ImageId [дубликат]

CGI - это программа (или веб-API), которую вы пишете, и сохраняете ее на веб-сервере. CGI - это файл.

Этот файл сидит и ждет на веб-сервере. Когда клиентский браузер отправляет запрос на веб-сервер для выполнения вашего файла CGI, веб-сервер запускает ваш файл CGI на сайте сервера. Входы для этой программы CGI, если таковые имеются, находятся в клиентском браузере. Выходы этой программы CGI отправляются в браузер.

Какой язык вы используете для написания программы CGI? Другие сообщения уже упоминают c, java, php, perl и т. Д.

93
задан Brickgao 3 April 2016 в 16:07
поделиться

5 ответов

Это был бы более простой способ сделать это, используя aggregate :

db.contest.aggregate([
    {"$group" : {_id:"$province", count:{$sum:1}}}
])
182
ответ дан Steven 17 August 2018 в 14:39
поделиться
  • 1
    Я получаю сообщение об ошибке, когда я пытаюсь сделать это "errmsg" : "exception: A pipeline stage specification object must contain exactly one field.",? – Steven 16 April 2014 в 18:42
  • 2
    NVM Я понял это, просто потребовалось некоторое возиться с ним – Steven 16 April 2014 в 18:47
  • 3
    Спасибо, только то, что мне нужно. – csharpbd 6 March 2017 в 07:50
  • 4
    как вы группируете его? Я хочу сортировать по -1 – Filip Bartuzi 26 June 2017 в 15:19
  • 5
    @FilipBartuzi есть пример на странице документации, вам нужно добавить операцию сортировки в конвейер, поскольку { $sort: { count: -1 } } – elaich 21 February 2018 в 14:04

Кроме того, если вам нужно ограничить группировку, вы можете использовать:

db.events.aggregate( 
    {$match: {province: "ON"}},
    {$group: {_id: "$date", number: {$sum: 1}}}  
)
5
ответ дан andre 17 August 2018 в 14:39
поделиться

Мне нужна дополнительная операция, основанная на результате агрегатной функции. Наконец, я нашел некоторое решение для агрегатной функции и операции, основанной на результате в MongoDB. У меня есть коллекция Request с полем request, source, status, requestDate.

Single Field Group By & amp; Count:

db.Request.aggregate([
    {"$group" : {_id:"$source", count:{$sum:1}}}
])

Несколько полей группы By & amp; Count:

db.Request.aggregate([
    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}}
])

Множественная группа полей By & amp; Count with Sort with Field:

db.Request.aggregate([
    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}},
    {$sort:{"_id.source":1}}
])

Несколько полей Group By & amp; Count with Sort with Count:

db.Request.aggregate([
    {"$group" : {_id:{source:"$source",status:"$status"}, count:{$sum:1}}},
    {$sort:{"count":-1}}
])
19
ответ дан csharpbd 17 August 2018 в 14:39
поделиться

Если вам нужно несколько столбцов для группировки, следуйте этой модели. Здесь я делаю счет с помощью status и type:

db.BusinessProcess.aggregate( {"$group" :  {_id : {status:"$status", type: "$type"}, count : { $sum : 1} } } )
32
ответ дан Madbreaks 17 August 2018 в 14:39
поделиться
  • 1
    Я использовал этот подход. Работает нормально. – Diogo Paschoal 1 March 2017 в 22:05

Этот тип запроса работал для меня:

 db.events.aggregate({$group: {_id : "$date", number:  { $sum : 1} }} )

См. http://docs.mongodb.org/manual/tutorial/aggregation-with-user-preference-data/

6
ответ дан prule 17 August 2018 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: