Отслеживание МБ, используемых на каждого пользователя

#mongodb

#mongodb

Вопрос:

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

Допустим, у меня есть значение поля электронной почты для каждого документа, связанного с пользователем ( myemail@example.com ). Пользователь может добавлять новые документы в несколько коллекций в базе данных, когда захочет, через веб-приложение, но общий объем хранилища не должен превышать 100 МБ.

В принципе, я хочу отслеживать, когда все связанные документы для каждого электронного письма превысили 100 МБ соответственно.

Как я могу с высокой производительностью и точностью отслеживать это?

Спасибо!

Комментарии:

1. Вероятно, есть несколько способов отслеживать это. Однако я не думаю, что существует какой-либо встроенный способ отслеживания «размера всех документов, содержащих некоторое значение поля».

Ответ №1:

Вы можете использовать $bsonSize, чтобы выяснить, сколько места занимает набор документов.

В MongoDB раньше была система квот с MMAP, но эта функция недоступна в Wired Tiger.