mongodb聚合中$group的联合主键写法

2024-08-27 16:32

本文主要是介绍mongodb聚合中$group的联合主键写法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境

mongodb 2.6
window7
RoboMongodb

需求

今天写联合主键了时,发现有两种写法,特此记录下:

写法一、用数组

db.gg_report_down_read.aggregate([
{
$match:
{ 
"status" : 1 , 
"account_name" : "F00015170" , 
"org_name" : { "$regex" : "熙玥投资"}}
},
{
$group:
{ 
//这里对_id,使用数组
"_id" : [ "$account_name" , "$org_name"] , 
"down_sum" : { "$sum" : "$down_sum"} , 
"read_sum" : { "$sum" : "$read_sum"}}
}
])

结果是:

{"result" : [ {"_id" : [ "$account_name", "$org_name"],"down_sum" : 229,"read_sum" : 3508}],"ok" : 1
}

写法二、键值对

db.gg_report_down_read.aggregate([
{
$match:
{ 
"status" : 1 , 
"account_name" : "F00015170" , 
"org_name" : { "$regex" : "熙玥投资"}}
},
{
$group:
{ 
"_id" : { name:"$account_name" , orgName:"$org_name"} , 
"down_sum" : { "$sum" : "$down_sum"} , 
"read_sum" : { "$sum" : "$read_sum"}
}
}
])

结果:

/* 0 */
{"result" : [ {"_id" : {"name" : "F00015170","orgName" : "熙玥投资"},"down_sum" : 229,"read_sum" : 3508}],"ok" : 1
}

总结

可以看出,它们返回的结果是略有差距,
使用键值对的方法:联合主键,是能可以显示相应的值的。
使用数组的话,联合主键是不会把值显示出来的

这篇关于mongodb聚合中$group的联合主键写法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112194

相关文章

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Go Mongox轻松实现MongoDB的时间字段自动填充

《GoMongox轻松实现MongoDB的时间字段自动填充》这篇文章主要为大家详细介绍了Go语言如何使用mongox库,在插入和更新数据时自动填充时间字段,从而提升开发效率并减少重复代码,需要的可以... 目录前言时间字段填充规则Mongox 的安装使用 Mongox 进行插入操作使用 Mongox 进行更

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

Python实现阶乘的四种写法

《Python实现阶乘的四种写法》本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录第一种:推导式+循环遍历列表内每个元素相乘第二种:调用functools模块reduce的php累计

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

Codeforces Beta Round #47 C凸包 (最终写法)

题意慢慢看。 typedef long long LL ;int cmp(double x){if(fabs(x) < 1e-8) return 0 ;return x > 0 ? 1 : -1 ;}struct point{double x , y ;point(){}point(double _x , double _y):x(_x) , y(_y){}point op

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密