Node.js 如何计算mongoose查询返回的文档所使用的磁盘空间(字节)?
情况如下:Node.js 如何计算mongoose查询返回的文档所使用的磁盘空间(字节)?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,情况如下: 在Node.js中使用Mongoose.js 执行查询,如Model.find().where('something','value').exec(回调) 您将在回调中收到一个文档数组 如何确定磁盘上这些文档的大小? 至少对我来说,近似是可以的。您可以通过将查询作为精简查询执行(以获取普通JavaScript对象而不是Mongoose文档实例),然后深入到作为本机MongoDB驱动程序一部分的BSON库并调用: 它不会给你磁盘上的大小,但它应该是BSON文档大小的一个很好的近似值
- 在Node.js中使用Mongoose.js
- 执行查询,如
Model.find().where('something','value').exec(回调)
- 您将在
回调中收到一个文档数组
至少对我来说,近似是可以的。您可以通过将查询作为精简查询执行(以获取普通JavaScript对象而不是Mongoose文档实例),然后深入到作为本机MongoDB驱动程序一部分的BSON库并调用:
它不会给你磁盘上的大小,但它应该是BSON文档大小的一个很好的近似值。正是我想要的。需要注意的是,这并没有考虑文档填充或2空间分配的威力
var bson = mongoose.mongo.BSON;
Model.find().where('something', 'value').lean().exec(function(err, docs) {
var docsBsonSize = bson.calculateObjectSize(docs));
});