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

How can I calculate the disk space (bytes) used by the documents returned from a mongoose query?

场景如下:

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

近似值还可以,至少对我来说是这样。

您可以通过将查询作为精简查询执行(以获取普通 JavaScript 对象而不是 Mongoose 文档实例)然后深入到本机 [=18= 的一部分的 BSON 库中来实现此目的] 驱动程序和调用 calculateObjectSize:

var bson = mongoose.mongo.BSON;

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

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