2
考慮將來切換到DynamoDB,但希望確保我的文檔低於1KB,因爲它們按每KB計費。有沒有一種快速的方法來了解集合中的文檔有多大?MongoDb中的文檔大小
考慮將來切換到DynamoDB,但希望確保我的文檔低於1KB,因爲它們按每KB計費。有沒有一種快速的方法來了解集合中的文檔有多大?MongoDb中的文檔大小
作爲一般的指南,你可以使用收集stats()
報道avgObjSize
值檢查文件的平均大小的集合collname在:
db.collname.stats()
要查找和計數,您可以使用類似的東西,以大型文檔:
var maxSize = 1024;
var bigDocs = 0;
db.collname.find().forEach(
function (doc) {
var docSize = Object.bsonsize(doc);
if (docSize >= maxSize) {
bigDocs++;
print(doc._id + ' is ' + docSize + ' bytes');
}
}
)
print("Found " + bigDocs + " documents bigger than " + maxSize + " bytes")
注意,這兩個例子中所使用的的MongoDB BSON表示,這將從尺寸變化熱曲被用來表示其他數據庫中的相同數據。
根據這些文檔(http://docs.mongodb.org/manual/reference/limits/#BSON文件大小),「最大BSON文檔大小爲16兆字節。」# –
@KevinMeredith:你說得對最大的MongoDB文檔大小爲16MB(如在MongoDB 2.4中),但是提出的問題是如何檢查文檔的實際大小並將它們保持在1KB以下。 – Stennie