Монго агрегат не возвращает всего результата только его часть - PullRequest
0 голосов
/ 11 января 2019

Может кто-нибудь сказать мне, пожалуйста, где проблема в этой простой команде агрегирования:

db.test.aggregate([
    {
         $group: {
             _id: "$type",
             numbers: { $sum: 1 }
         } 
    }
]).pretty()

Коллекция содержит около 2 миллионов документов, и у каждого есть поле типа. Но результат возвращает только несколько из них в качестве результата + сообщение " Тип" это "для более " Если я наберу "это", он возвращает следующий частичный результат агрегирования до конца. Но я хочу, чтобы вся совокупность была в одном результате. Что я делаю неправильно? Спасибо.

1 Ответ

0 голосов
/ 11 января 2019

MongoDB не вернет вам всю кучу данных, поскольку имеет встроенную нумерацию страниц.

В другом случае (2 миллиона документов) произойдет сбой вашего сервера / компьютера, так как ему не хватит памяти .

Но если вы хотите получить все данные, лучше хранить их с помощью скрипта.
Вы можете написать скрипт на своем языке программирования, запросить базу данных, разбить данные на страницы и сохранить в какой-либо переменной. Пример

...