Подтвердить что ты не робот

База данных данных в mongodb

с

db.collection.dataSize()

Я могу получить размер данных collectcion
как я могу получить данные из базы данных?

4b9b3361

Ответ 1

Используйте следующую команду в mongoshell:

 db.stats()

Выход должен выглядеть следующим образом:

{
  "collections" : 3,
  "objects" : 80614,
  "dataSize" : 21069700,
  "storageSize" : 39845376,
  "numExtents" : 9,
  "indexes" : 2,
  "indexSize" : 6012928,
  "ok" : 1
}

Подробнее диагностическая команда здесь.

Ответ 2

Используйте db.getStats() в Java

CommandResult re = db.getStats();
for(String k: re.keySet()){
    System.out.println(k+"="+re.get(k) );
}

Затем получится результат, как показано ниже:

serverUsed=127.0.0.1:27017
db=test
collections=3
objects=100004
avgObjSize=67.99876004959802
dataSize=6800148
storageSize=10633216
numExtents=9
indexes=1
indexSize=4406864
fileSize=50331648
nsSizeMB=16
ok=1.0

Ответ 3

Команда dbStats возвращает другую статистику хранения для данной базы данных. Как объяснено в этот пост о различных показателях производительности MongoDB, которые вы должны отслеживать (с MMAPv1), метка dataSize, которую вы упомянули, измеряет пространство принятых всеми документами и дополнением в базе данных. Чтобы получить "хранилище" вашей базы данных на диске, вы должны посмотреть на показатели fileSize, соответствующие размеру ваших файлов данных. Он уменьшается только при удалении базы данных и не затрагивается при удалении коллекций, документов или индексов.

Ниже приведена диаграмма с различными важными показателями хранения, возвращаемыми dbStats: введите описание изображения здесь

Также обратите внимание, что с движком хранения MMAPv1 отображаемая память (mem.mapped метрика), соответствующая количеству виртуальной памяти, используемой для сопоставления базы данных в памяти, дает вам хорошее приближение к общему размеру вашей базы данных (ы). Вы можете получить доступ к этой метрике с помощью команды serverStatus.