如何计算从mongoose查询返回的文档使用的磁盘空间(字节)?

时间:2015-01-16 14:24:35

标签: node.js mongodb mongoose

方案如下:

  • 在Node.js中使用Mongoose.js
  • 执行查询,例如Model.find().where('something', 'value').exec(callback)
  • 您收到了callback
  • 中的一系列文档

如何确定磁盘上这些文档的大小?

至少对我来说,近似值是可以的。

1 个答案:

答案 0 :(得分:6)

您可以通过将查询作为精简查询(获取纯JavaScript对象而不是Mongoose文档实例)执行此操作,然后深入查看本机MongoDB驱动程序的一部分BSON库并调用{{ 3}}:

var bson = mongoose.mongo.BSON;

Model.find().where('something', 'value').lean().exec(function(err, docs) {
    var docsBsonSize = bson.calculateObjectSize(docs));
});

它不会在磁盘上给你大小,但它应该是BSON文档大小的一个很好的近似值。

相关问题