首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongo聚合: BinData字段字节数之和

Mongo聚合: BinData字段字节数之和
EN

Stack Overflow用户
提问于 2014-10-15 09:50:35
回答 2查看 1.1K关注 0票数 0

我有一个包含BinData的集合。下面是一个文档示例:

  • _id: int
  • origLength: int (未压缩大小)
  • uploadDate: ISODate
  • 数据:(应用程序级的压缩数据)

我想做一些尺寸检查。

我可以把未压缩的大小加起来,我可以看到mongo的大小。但是,我没有明显的方法来计算数据字段的总大小。我找不到任何返回BinData大小的聚合函数。

代码语言:javascript
复制
db.passage.aggregate([{
  $group: {
      _id: 1, 
      count:{$sum : 1}, 
      totalBytes : {$sum : "$origLength"}, 
      compressedSize: {$sum : $XXX("$data")}}
  }
]);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 12:11:02

聚合目前还没有运算符来执行此操作。

使用服务器端js代码是一种选择。

代码语言:javascript
复制
db.eval(function() {
    var len = 0;
    db.passage.find({},{_id: 0, data: 1}).forEach(function(doc) {
        var b = doc.data;
        if (b instanceof BinData) {
            len += b.length();
        }
    });
    return len;
});
票数 0
EN

Stack Overflow用户

发布于 2021-03-24 23:44:04

更新MongoDB 4.4将$binarySize()引入聚合框架

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26379453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档