2012-09-30 151 views

回答

12

作为一般的指南,你可以使用收集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表示,这将从尺寸变化热曲被用来表示其他数据库中的相同数据。

+0

根据这些文档(http://docs.mongodb.org/manual/reference/limits/#BSON文件大小),“最大BSON文档大小为16兆字节。”# –

+1

@KevinMeredith:你说得对最大的MongoDB文档大小为16MB(如在MongoDB 2.4中),但是提出的问题是如何检查文档的实际大小并将它们保持在1KB以下。 – Stennie