【问题标题】:How to get size of mongodb single document in bytes using nodejs?如何使用nodejs获取mongodb单个文档的大小(以字节为单位)?
【发布时间】:2016-04-18 10:59:54
【问题描述】:

我正在使用 db.coll.findOne 获取文档。我想使用只有 mongo-native 驱动程序的 nodejs 来获取文档的大小(以字节为单位)。这可能吗?

【问题讨论】:

标签: node.js mongodb


【解决方案1】:

可以使用BSON(依赖于mongodb驱动):

var bson = require("bson");
var BSON = new bson.BSONPure.BSON();

db.coll.findOne(query).then(function(err, doc) {
  var size = BSON.calculateObjectSize(doc);
});

【讨论】:

  • 我能够获得大小值。但它与“Object.bsonsize”值不同,大小差异有什么原因吗?
  • 我不知道为什么,只是猜测:Object.bsonsize() 返回存储文档的真实大小,calculateObjectSize() 只会尝试计算它(名称是一个很好的指标:p)所以任何事情都可能导致不同的计算大小。
  • 我必须将其更改为 new bson.BSON() 才能正常工作。我猜 api 自 2013 年以来发生了变化。
猜你喜欢
  • 1970-01-01
  • 2014-03-27
  • 2013-02-01
  • 1970-01-01
  • 2010-10-05
  • 2013-02-06
  • 2012-02-17
  • 2010-09-17
相关资源
最近更新 更多