Эффективная по памяти альтернатива для Different () в MongoDB - PullRequest
0 голосов
/ 15 января 2020

CosmosDB с уровнем протокола MongoDB ограничивает объем памяти, который может использовать один запрос. Отдельный запрос () для коллекции в настоящее время выдает следующее сообщение об ошибке:

Запрос превысил максимально допустимое использование памяти в 40 МБ.

Я хотел бы найти Обходной путь, который использует меньше памяти, но все еще может быть реализован в pure MongoQL (так как весь код MongoQL в настоящее время абстрагируется обобщенным c способом, и его не следует трогать, пока не станет доступным исправление для восходящего потока.)

Возможное решение было бы

db.collection.aggregate(
   [ { $sample: { size: 5000 } } ]
).distinct("field_of_interest")

Однако пользователь мог бы просто заинтересоваться отличным значением, которое не было случайно выбрано из данных.

Есть идеи, как ограничить потребление памяти? Спасибо!

Существует проблема с CosmosDB с уровнем протокола MongoDB 3.2 и 3.6. Соответствующий вопрос по Github .

1 Ответ

1 голос
/ 14 апреля 2020

Это было решено на уровне протокола 3.6. Коллекция должна быть воссоздана с конечной точкой .mon go .cosmos. azure .com или уровнем протокола 3.2, который нужно обновить до 3.6.

Надеюсь, это поможет.

Спасибо Navtej S

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...