前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongodb 分组查询、指定时间段查询

mongodb 分组查询、指定时间段查询

作者头像
六月的雨在Tencent
发布2024-03-28 20:29:25
970
发布2024-03-28 20:29:25
举报
文章被收录于专栏:CSDNCSDN
mongodb 分组查询、指定时间段查询

1. 简单查询

查询全部

代码语言:javascript
复制
db.UserDailyStudyRecord.find({})

查询指定条件下数据,in查询

代码语言:javascript
复制
db.UserDailyStudyRecord.find({'userId':{$in:[1,2,3,4,5,6,7,8]}})

查询指定时间区间 2019-03-26整天的登录信息

代码语言:javascript
复制
db.UserLoginLog.find({'loginTime':{$gt:ISODate('2019-03-26T00:00:00Z'),$lte:ISODate( '2019-03-26T23:59:59Z' )}})

排序查询

代码语言:javascript
复制
db.UserLoginLog.find({}).sort({ loginTime:-1 })

2.复杂查询

查询指定条件下,按userId分组,计算studyTime总数,按总时间倒叙排列

代码语言:javascript
复制
db.UserDailyStudyRecord.aggregate([{ '$match' : {'userId' : { '$in' : [1,2,3,4,5,6,7,8,18]}}}
,{'$group': {'_id' :'$userId','totalStudyTime':{'$sum':'$studyTime'}}},{'$sort': {'totalStudyTime':-1}}])

查询指定条件下,按userId分组,计算所有行totalStudyTime的值

代码语言:javascript
复制
db.UserDailyStudyRecord.aggregate([{ '$match' : {'userId' : { '$in' : [1,2,3,4,5,6,7,8,18]}}}
,{'$group': {'_id' :'1','totalStudyTime':{'$sum':'$studyTime'}}},{'$sort': {'totalStudyTime':-1}}])

或者

代码语言:javascript
复制
db.UserDailyStudyRecord.aggregate([{ '$match' : {'userId' : { '$in' : [1,2,3,4,5,6,7,8,18]}}}
,{'$group': {'_id' :null,'totalStudyTime':{'$sum':'$studyTime'}}},{'$sort': {'totalStudyTime':-1}}])

查询指定时间段内,按userId分组

代码语言:javascript
复制
db.UserLoginLog.aggregate([
    {$match:{'loginTime' : {$gt:ISODate('2019-03-26T00:00:00Z'),$lte:ISODate( '2019-03-26T23:59:59Z' )},'isValid':1}},
    {$group:{_id:"$userId"}}
])

查询指定时间段内,userId总数

代码语言:javascript
复制
db.UserLoginLog.aggregate([
    {$match:{'loginTime' : {$gt:ISODate('2019-03-26T00:00:00Z'),$lte:ISODate( '2019-03-26T23:59:59Z' )},'isValid':1}},
    {$group:{_id:"$userId"}},
    {$group:{_id:null,count:{$sum:1}}}
])

查询指定时间段,特定范围,userId总数

代码语言:javascript
复制
db.UserLoginLog.aggregate([
    {$match:
	{'loginTime' : {$gt:ISODate('2020-02-27T00:00:00Z'),$lte:ISODate( '2020-03-27T23:59:59Z' )},
	'isValid':1,'userId':{ '$in' : [21317,19705,19672,21322,19673]}}},
    {$group:{_id:"$userId"}},
	{$group:{_id:null,count:{$sum:1}}}
])

查询userId及userId总数

代码语言:javascript
复制
db.UserLoginLog.aggregate([
    {$match:
	{'loginTime' : {$gt:ISODate('2020-02-27T00:00:00Z'),$lte:ISODate( '2020-03-27T23:59:59Z' )},
	'isValid':1,'userId':{ '$in' : [92079,92081,92083,92085,92087,92089,92091,92093,92095]}}},
    {$group:{_id:"$userId"}}
])


db.UserLoginLog.aggregate([
    {$match:
	{'loginTime' : {$gt:ISODate('2020-02-27T00:00:00Z'),$lte:ISODate( '2020-03-27T23:59:59Z' )},
	'isValid':1,'userId':{ '$in' : [92079,92081,92083,92085,92087,92089,92091,92093,92095]}}},
    {$group:{_id:"$userId"}},
	{$group:{_id:null,count:{$sum:1}}}
])
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mongodb 分组查询、指定时间段查询
  • 1. 简单查询
  • 2.复杂查询
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档