如何计算cosmos DB中的不同值

2024-04-11

我在 Cosmos DB 中创建了一些文档,如下所示:

[
  {
    "class": "class01",
    "student": {
      "lastReport": [
        {
          "Name": "st01",
          "score": "C"
        },
        {
          "Name": "st02",
          "score": "B"
        }
      ],
      "lastTime": "2018-05-10"
    }
  },
  {
    "class": "class02",
    "student": {
      "lastReport": [
        {
          "Name": "st03",
          "score": "C"
        },
        {
          "Name": "st01",
          "score": "A"
        }
      ],
      "lastTime": "2018-05-10"
    }
  },
  {
    "class": "class01",
    "student": {
      "lastReport": [
        {
          "Name": "st01",
          "score": "C"
        },
        {
          "Name": "st02",
          "score": "A"
        },
        {
          "Name": "st03",
          "score": "B"
        }
      ],
      "lastTime": "2018-05-10"
    }
  }
]

你能帮助我如何计算所有数据中的分数值吗?我的期望是这样的结果:

[
  {
    "score": "C",
    "Num" : 3
  },
{
    "score": "B",
    "Num" : 2
  },
{
    "score": "A",
    "Num" : 2
  }
  ]

正如@Sajeetharan 所说,到目前为止,azure cosmos db 不支持 group by。不过,我建议您使用Stored Procedure来实现您的要求。

根据您的示例文档,我为您提供了示例存储过程。请参考一下。

function sample() {
    var collection = getContext().getCollection();
    var isAccepted = collection.queryDocuments(
        collection.getSelfLink(),
        'SELECT a.score FROM  c join a in c.student.lastReport',
        function (err, feed, options) {
            if (err) throw err;
            if (!feed || !feed.length) getContext().getResponse().setBody('no docs found');
            else {
                var map = {};
                var returnResult = [];
                for(var i = 0;i<feed.length;i++){
                    var s = feed[i].score;
                    if(map.hasOwnProperty(s)){
                        map[s] ++;   
                    }else {
                        map[s] = 1;   
                    }         
                }

                for(var key in map){
                    console.log(key)
                    var obj = {
                        "score":key,
                        "num" : map[key]
                    };
                    returnResult.push(obj);
                }
                getContext().getResponse().setBody(returnResult);
            }
        });

    if (!isAccepted) throw new Error('The query was not accepted by the server.');
}

Output :

希望对您有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何计算cosmos DB中的不同值 的相关文章

  • 如果 node_modules 目录存在,Azure 模拟器无法启动 Web 角色

    我想我只是偶然发现了一个非常奇怪的问题 我有一个相当大的解决方案 包括一个具有 3 个角色 两个工作角色和一个 Web 角色的 Azure 项目 Web角色基于asp net mvc和web api 昨天尝试 gulp 用于编译和捆绑较少的
  • 如何知道 Azure 函数是否正在插槽中运行

    函数可以知道它是否在槽中运行吗 我想阻止某个函数在 暂存 槽中执行 Updated 根据布鲁斯的回答 再次感谢朋友 我写了那篇博文http www frankysnotes com 2017 09 how to know when azur
  • 如何从 SQL Azure V11 升级到 V12?

    我正在使用 V11 SQL Azure 在此阶段 我不想升级包含我当前所有 QA 和生产数据库的现有 SQL 服务器 从逻辑上讲 为 V12 创建新的 SQL Server 设置似乎更安全 然后以某种方式将 V11 数据库实例从我的 V11
  • 为什么 Azure Key Vault 安全?

    Azure Key Vault 为什么或如何安全 我需要在服务器上存储密钥 URI 客户端 ID 和客户端密钥 因此如果任何人授予对托管应用程序的服务器的访问权限 他将能够访问存储在 Key Vault 中的密钥和密钥 这意味着将它们存储在
  • Azure 函数核心工具安装卡在 Visual Studio Code 中

    我创建了 Azure 函数应用程序来执行 powershell 脚本 想先在我的本地运行它来测试它 当我运行它时 无论有没有调试选项 都会出现一个弹出窗口 其中显示 您必须安装 Azure Functions 核心工具才能调试本地函数 当我
  • Application Insights 在 Azure 容器的 Web 应用程序中不起作用

    各位 您能告诉我如何在 Azure 上的 Linux docker 应用程序中启用应用程序洞察吗 我需要修改服务计划吗 None
  • XRDP 突然无法连接到 Azure VM

    The RDP doesnt connect to the Azure Linux VM suddenly the error is Password failed error problem connecting This is the
  • Azure 流量管理器可以与 API 管理一起使用吗?

    当我将端点添加到流量管理器时 只有网站和云服务可供选择 我可以将 API 管理服务与流量管理器结合使用吗 是的 除了 Azure 网站和 Azure 云服务之外 还可以将外部终结点添加到 Azure 流量管理器配置文件中 您将需要使用 Az
  • 如何在 access_token 中添加角色声明,目前它是在 id_token 中?

    我正在使用 PKCE 跟踪身份验证代码流 我的身份提供程序是 Azure Active Directory 我从应用程序注册创建了一个应用程序 客户端应用程序 在清单中 我添加了如下所示的 appRoles appRoles allowed
  • 如何识别 SQL Azure 中的死锁?

    我有一个由两个实例组成的 Windows Azure 角色 有时交易会失败并显示SqlException与以下文字 事务 进程 ID N 在锁资源上与另一个进程发生死锁 并被选为死锁牺牲品 重新运行事务 现在我已经谷歌搜索了一段时间并阅读这
  • Azure Application Insights 查询 - 如何计算总数的百分比

    我正在尝试在输出表中创建一行来计算总项目的百分比 Something like this ITEM COUNT PERCENTAGE item 1 4 80 item 2 1 20 我可以轻松获得包含 ITEM 和 COUNT 行的表格 但
  • Azure CloudTable 线程安全吗?

    我正在使用 Storage SDK 2 0 从不同线程 ASP NET 应用程序 写入 Azure 表存储 Is 云表 object 线程安全 我是否可以仅初始化 CloudStorageAccount CloudTableClient 和
  • 如何在 Azure 逻辑应用中解析 Excel 电子表格

    我需要使用 Azure 逻辑应用从 Excel 电子表格中解析和提取列信息 我已经为我的逻辑应用程序设置了从 Outlook 检索最新未读电子邮件的功能 此外 我的逻辑应用程序执行 FOR EACH 来读取所有附件 来自未读电子邮件 并确保
  • launch.json 中不允许使用属性 env [VSCode]

    我所做的就是在 VS 中初始化一个模板 Azure Functions 项目 当我尝试通过设置运行配置环境变量时launch json VS直接警告我这是不 允许的 此外 即使当我尝试运行我的 ps1无论如何 对于 env 来说 它不起作用
  • 直接向订阅发送消息

    是否可以将消息直接发送到订阅队列 设想 消息失败 被丢弃到死信中 该消息已使用 defer 手动拾取 克隆 并且需要发送到它首先被发送到死信的队列 但不是主题 我可以直接向订阅者发送消息吗 我考虑过为每个订阅者创建一个单独的重试队列 处理服
  • 在 SQL Azure 中计算“select count(id) from table”最多需要 30 分钟

    我在 SQL Azure 中有一个数据库 不需要 15 到 30 分钟就能完成一个简单的操作 select count id from mytable 数据库约为 3 3GB 计数返回约 2 000 000 但我在本地尝试过 只需要不到 5
  • Azure 管理 API 返回 500 内部服务器错误

    我通过此请求从 Azure REST 管理 API 返回 500 内部服务器错误 为什么 X509Certificate cert X509Certificate2 CreateFromCertFile cert path string u
  • Azure函数版本2.0-应用程序blobTrigger不工作

    我有一个工作功能应用程序 它有一个 blob 输入和一个事件中心输出 在测试版中工作 随着最新的更改 我的功能不再起作用 我尝试根据发行说明更新 host json 文件 但它没有引用 blob 触发器 version 2 0 extens
  • 如何从本地运行的docker容器访问Azure Keyvault?

    我有一个包含 ASP NET Core 应用程序的 docker 映像 该应用程序使用 Azure Key Vault 来访问连接字符串等内容 当我在本地运行图像时 出现以下错误 Unhandled Exception Microsoft
  • 具有 blobfuse 或 Azure 存储 Blob 的 Azure 容器实例

    我正在从 azure 容器注册表 azure cli 和 或门户 部署到 azure 容器实例 Azure blobfuse 在 ubuntu 18 上 出现以下错误 未找到设备 请先尝试 modprobe fusion 解决这个问题的方法

随机推荐

  • 如何使用新功能扩展 UiApp?

    我想使用包装函数在 Google Apps 脚本中扩展 原型 UiApp 但在运行如下所示的简单示例时出现 TypeError 我究竟做错了什么 Object prototype addLabel function text this cr
  • 不同命名空间中的部分类

    我可以在不同的命名空间中创建分部类吗 它能正常工作吗 前任 类1 cs namespace name1 public partial class Foo Bar1 return 10 2 cs 类 namespace name1 name2
  • 表达式树如何提供对局部变量的访问? [复制]

    这个问题在这里已经有答案了 这个问题与闭包如何工作无关 这个问题是关于 LINQ 如何决定将哪些内容引用到运行时可解析表达式中 以及评估哪些内容并将其放入该表达式中 这个问题试图理解 LINQ 的工作原理 用另一种语言实现类似的东西 考虑以
  • Unicode 编码错误“latin-1”编解码器无法编码字符“\u2019”

    我正在尝试从 MySQL RDB 创建数据 CSV 以将其移至 Amazon Redshift 但是 其中一个字段包含描述 其中一些描述包含 字符或右侧单引号 在我运行代码之前 它会给我 UnicodeEncodeError charmap
  • 查询MongoDB仅在特定时间搜索[重复]

    这个问题在这里已经有答案了 我有一个问题 我想按一天中的特定时间进行搜索 开始吧 我的数据模式如下所示 symbol Orange timestamp ISODate 2016 05 01T20 00 00 000Z price 10 我有
  • 谷歌地图(网络应用程序)如何通过手势/捏合在 iphone/ipad 上如此平滑地缩放?

    如果您在 iPhone 或 iPad 上使用过 Google 地图网络应用程序 您就会知道我在说什么 你在这个屏幕抓取中看不到我的手指 但这是中捏 如果你愿意的话 缩小的 详细区域是初始地图查看区域 外面的模糊部分是中间夹点时进入视野的额外
  • JavaScript 中的基本流程控制

    您能给我解释一下如何用 JavaScript 编写真正基本的流程控制吗 谢谢 flow function callback do something callback run next function function callback
  • 如何在 Java 中将 POJO 转换为 Map,反之亦然?

    我的用例是将任意 POJO 转换为 Map 然后从 Map 转换回 POJO 所以我最终使用了 POJO gt json gt org bson Document 策略 然后回到 org bson Document gt json gt P
  • 哪些因素影响 ggplot 图例的排序方式

    我正在 R 中创建一个散点图 用户可以在其中添加或删除显示固定参考值的水平线 这样做时 我注意到更改参考线的名称会对图例重新排序 因此有时水平线出现在散点图例元素之前 有时出现在之后 Compare to 下面是一个可重现的示例 YEAR
  • 从 URL 获取图像作为缓冲区

    我花了几个小时尝试获取图像数据作为缓冲区 搜索结果导致我使用 请求 模块 其他建议导致使用更高版本的节点中的其他模块 我无法使用它 因为我们依赖于节点 v 6 11迄今为止 这是我的试验 request imageURL pipe fs c
  • 如何在没有唯一索引或主键的情况下在 MySQL 中使用 ON DUPLICATE KEY UPDATE?

    MySQL 手册指出 如果指定 ON DUPLICATE KEY UPDATE 并且插入一行 会导致 UNIQUE 索引或 PRIMARY KEY 中出现重复值 如果您的表没有 UNIQUE 索引或 PRIMARY KEY 但您不想重复列的
  • 如何在php中将日期和时间转换为时间戳?

    我有个约会 07 23 2009 和一个时间 18 11 我想从中获取时间戳 这是我的例子 date default timezone set UTC d str replace 07 23 2009 t str replace 18 11
  • 使用 useReducer 时如何获取 useCallback 中的当前状态?

    将 React hooks 与 TypeScript 一起使用 这是我想要做的事情的最小表示 在屏幕上有一个按钮列表 当用户单击按钮时 我想将按钮的文本更改为 单击按钮 并且然后只重新渲染被单击的按钮 我使用 useCallback 来包装
  • 如何在Python中连接整数区间?

    我已经使用了模块间隔 http pyinterval readthedocs io en latest index html http pyinterval readthedocs io en latest index html 并从一组或
  • Ruby on Rails 源代码安全/混淆[重复]

    这个问题在这里已经有答案了 我刚刚开始 Ruby on Rails 开发 我有一个关于源代码 隐私 的问题 据我目前所知 我还没有做部署 只是在本地开发环境中使用了FoR 当部署 RoR 应用程序时 所有源代码在服务器上都是 可见 的 我如
  • 从其子序列的集合中构建最短的字符串

    给定字符串中的子序列的集合 例如 abc acd bcd 问题是 如何从这些序列中确定最短的字符串 对于上面的例子 最短的字符串是abcd Here 子序列表示字符串的一部分 但不一定是连续的 喜欢acd是字符串的子序列abcd Edit
  • 防止 PowerShell 将值类型包装在 PSObject 中

    我有一个使用大量委托的 NET API 我的 API 有几个类似于以下的方法 public static class MyClass public static void DoSomethingWithString Func myFunc
  • 默认 xml 命名空间在 XAML 中如何工作?

    xmlns http schemas microsoft com winfx 2006 xaml presentation 该 url 如何映射到 NET 命名空间 您能否举例说明如何对自定义 NET 类 命名空间执行相同的操作 它是一个必
  • 无法启动 uwsgi 进程

    无法通过 ini 标志启动 uwsgi 进程 uwsgi ini file ini 没有任何 uwsgi pid ps aux grep uwsgi root 31605 0 0 0 3 5732 768 pts 0 S 06 46 0 0
  • 如何计算cosmos DB中的不同值

    我在 Cosmos DB 中创建了一些文档 如下所示 class class01 student lastReport Name st01 score C Name st02 score B lastTime 2018 05 10 clas