Вы не упомянули версию сервера MongoDB вы используете, но, учитывая size
ваших данных намного больше, чем storageSize
на диске, я предполагаю, что вы используете WiredTiger storage engine который compresses data and indexes по умолчанию. Механизм хранения WiredTiger был впервые доступен в качестве опции в серийной версии MongoDB 3.0 и стал механизмом хранения по умолчанию для новых развертываний в MongoDB 3.2+.
В вашем примере вывода выглядит так: у вас 1,4 ТБ несжатого data
, который в настоящее время занимает 334 ГБ на диске (значение storageSize
). Место хранения, используемое индексами для этой коллекции, сообщается отдельно под номером indexSizes
и суммируется как totalIndexSize
.
Выход collection.stats()
будет варьироваться в зависимости от версии MongoDB сервера и настроенного механизма хранения, но, как правило, описаны в руководстве MongoDB как часть output of the collStats
command которая вызывается помощником в db.collection.stats()
оболочки.
Примечание: MongoDB documentation приведен в соответствие с версией, поэтому вы всегда должны быть уверены, что ссылаетесь на документацию, соответствующую вашей серии выпусков MongoDB (т. Е. 3.2, 3.4, ...). Ссылки на документацию по умолчанию указывают на текущий выпуск продукции.
https://docs.mongodb.com/v3.2/reference/command/collStats/#collstats-output – felix
@felix существует большая разница между ** размером ** и ** storageSize **. Мне нужно больше разъяснений, кроме документа mongodb –