我遇到了mongo的奇怪行为,我想澄清一下...
我的要求很简单:我想在集合中获取单个文档的大小。我发现了两种可能的解决方案:
在这里,我提供一些我执行测试的代码:
我创建了新的数据库“ test”并输入仅具有一个属性的简单文档:type:“ auto”
db.test.insert({type:"auto"})
stats()函数调用的输出:db.test.stats():
{
"ns" : "test.test",
"count" : 1,
"size" : 40,
"avgObjSize" : 40,
"storageSize" : 4096,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 4096,
"paddingFactor" : 1,
"systemFlags" : 1,
"userFlags" : 0,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
bsonsize函数调用的输出:Object.bsonsize(db.test.find({test:“ auto”}))
481
在的上一个调用中Object.bsonsize()
,Mongodb返回了光标的大小,而不是文档的大小。
正确的方法是使用此命令:
Object.bsonsize(db.test.findOne())
使用findOne()
,您可以定义对特定文档的查询:
Object.bsonsize(db.test.findOne({type:"auto"}))
这将返回特定文档的正确大小(以字节为单位)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句