2016-11-25 101 views
1

編輯:這個問題不是關於vanilla MongoDB的show collections,而是關於mongo-hacker。查看接受的答案和評論。`show collections`返回的尺寸是多少?


使用蒙戈DB 3.2 + WiredTiger,show collections顯示兩種尺寸:S1/S2。

show collections 
coll_1    → 10.361MB/1.289MB 
coll_2    → 0.000MB/0.004MB 
coll_3    → 0.000MB/0.016MB 
coll_4    → 0.001MB/0.031MB 

我的猜測是,這些方式:

  • S1:在數據庫
  • S2的文件的總大小:壓縮後的數據庫的磁盤大小(文檔+索引)

這是正確的嗎?我在docs找不到任何參考。

回答

4

您使用的是mongo-hacker嗎?默認情況下,在MongoDB 3.2.11中,show collections根本不顯示任何大小信息。

通過蒙戈黑客提供的尺寸信息是從db.collection.stats().size其輸出顯示了集合(無索引)的總未壓縮的大小獲得,並且db.collection.stats().storageSize這表明你的物理存儲大小。如果您在WiredTiger中啓用壓縮,則storageSize通常會小於size

你可以在這裏找到相關的源代碼:https://github.com/TylerBrock/mongo-hacker/blob/0.0.13/hacks/show.js#L57-L72

+0

因此,這將是我定義爲「文件的總大小」和「磁盤(文檔+索引)的大小」。感謝您的源代碼。它看起來很像這樣。但是,我從來沒有聽說過mongo-hacker。我正在使用來自Mongo存儲庫的MongoDB Debian軟件包。我們不是有相同的默認Mongo嗎? –

+0

好吧,我明白了。我從我的同事那裏複製了'.mongorc.js'以獲得彩色外殼,並且恰好包含了mongo-hacker的東西。我不記得特別安裝mongo-hacker,但顯然它工作。謝謝。 –

+0

是的,mongo-hacker通過在主目錄中創建.mongorc.js來工作。我想如果你複製了某人的.mongorc.js文件,你可能會「意外」使用mongo-hacker。請注意,您可以使用'mongo --norc'運行mongo shell來忽略rc文件。 –