如何计算 mongoose 查询返回的文档使用的磁盘 space(字节)?
How can I calculate the disk space (bytes) used by the documents returned from a mongoose query?
场景如下:
- 在 Node.js
中使用 Mongoose.js
- 执行查询,例如
Model.find().where('something', 'value').exec(callback)
- 您在
callback
中收到一系列文件
如何确定这些文件在磁盘上的大小?
近似值还可以,至少对我来说是这样。
您可以通过将查询作为精简查询执行(以获取普通 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 文档大小的一个很好的近似值。
场景如下:
- 在 Node.js 中使用 Mongoose.js
- 执行查询,例如
Model.find().where('something', 'value').exec(callback)
- 您在
callback
中收到一系列文件
如何确定这些文件在磁盘上的大小?
近似值还可以,至少对我来说是这样。
您可以通过将查询作为精简查询执行(以获取普通 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 文档大小的一个很好的近似值。