场景如下:
- 在 Node 中使用猫鼬.js.js
- 执行查询,例如
Model.find().where('something', 'value').exec(callback)
- 您会收到一系列文档
callback
如何确定磁盘上这些文档的大小?
至少对我来说,近似值还可以。
您可以通过将
查询作为精简查询执行(以获取纯JavaScript对象而不是Mongoose文档实例)然后深入到BSON库中来实现这一点,该库是本机MongoDB驱动程序的一部分并调用calculateObjectSize
:
var bson = mongoose.mongo.BSON;
Model.find().where('something', 'value').lean().exec(function(err, docs) {
var docsBsonSize = bson.calculateObjectSize(docs));
});
它不会给你磁盘上的大小,但它应该是BSON文档大小的一个很好的近似值。