iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mongodb 常用命令 日期, 分组
  • 595
分享到

mongodb 常用命令 日期, 分组

2024-04-02 19:04:59 595人浏览 八月长安
摘要

日期分组 db.msds_acce***ecord.group({  keyf : function(doc){  var date =

日期分组
db.msds_acce***ecord.group({
 keyf : function(doc){  var date = new Date(doc.addtime);  var dateKey = ""+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();  return {'day':dateKey}; //33}, 
 initial : {"count":0}, 
 reduce : function Reduce(doc, out) {  if(doc.url){    out.count +=1;  }
}
});



先插入测试数据:

for(var i=1; i<20; i++){

    var num=i%6;

    db.test.insert({_id:i,name:"user_"+i,age:num});

}

1.普通分组查询

db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){

prev.num++

}});

db.runCommand({group:

{

ns:"test",

key:{age:true},

initial:{num:0},

$reduce:function(doc,prev){

prev.num++}

}

});

2.筛选后再分组

db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){

prev.num++

},

condition:{age:{$gt:2}}

});

db.runCommand({group:

{

ns:"test",

key:{age:true},

initial:{num:0},

$reduce:function(doc,prev){

prev.num++},

condition:{age:{$gt:2}}

}

});

普通的$where查询:

db.test.find({$where:function(){

return this.age>2;

}

    });

group联合$where查询

db.test.group({key:{age:true},initial:{num:0},$reduce:function(doc,prev){

prev.num++

},

condition:{$where:function(){

return this.age>2;

}

    }

});

3.使用函数返回值分组

//注意,$keyf指定的函数一定要返回一个对象

db.test.group({$keyf:function(doc){return {age:doc.age};},initial:{num:0},$reduce:function(doc,prev){

prev.num++

}

});

db.runCommand({group:

{

ns:"test",

$keyf:function(doc){return {age:doc.age};},

initial:{num:0},

$reduce:function(doc,prev){

prev.num++}

}

});

4.使用终结器

db.test.group({$keyf:function(doc){return {age:doc.age};},initial:{num:0},$reduce:function(doc,prev){

prev.num++

},

finalize: function(doc){ doc.count=doc.num;delete doc.num; }

});

db.runCommand({group:

{

ns:"test",

$keyf:function(doc){return {age:doc.age};},

initial:{num:0},

$reduce:function(doc,prev){

prev.num++},

finalize: function(doc){ doc.count=doc.num;delete doc.num; }

}

});

 

 

有关MapReduce


//首先插入测试数据
for(var i=1;i<21;i++)
{
    db.test.insert({_id:i,name:'mm'+i});
}

//进行mapReduce
db.runCommand(
{
    mapreduce:'test',
    map:function(){emit(this.name.substr(0,3),this);},
    reduce:function(key,vals){return vals[0];},  //注意:vals是一个Object对象而不是数组
    out:'wq'
});

注意:
1.mapreduce是根据map函数里调用的emit函数的第一个参数来进行分组的
2.仅当根据分组键分组后一个键匹配多个文档,才会将key和文档集合交由reduce函数处理。例如:
db.runCommand(
{
    mapreduce:'test',
    map:function(){emit(this.name.substr(0,3),this);},
    reduce:function(key,vals){return 'wq';}, 
    out:'wq'
});
执行mapreduce命令后,再查看wq表数据:
db.wq.find()

{ "_id" : "mm1", "value" : "wq" }
{ "_id" : "mm2", "value" : "wq" }
{ "_id" : "mm3", "value" : { "_id" : 3, "name" : "mm3" } }
{ "_id" : "mm4", "value" : { "_id" : 4, "name" : "mm4" } }
{ "_id" : "mm5", "value" : { "_id" : 5, "name" : "mm5" } }
{ "_id" : "mm6", "value" : { "_id" : 6, "name" : "mm6" } }
{ "_id" : "mm7", "value" : { "_id" : 7, "name" : "mm7" } }
{ "_id" : "mm8", "value" : { "_id" : 8, "name" : "mm8" } }
{ "_id" : "mm9", "value" : { "_id" : 9, "name" : "mm9" } }


您可能感兴趣的文档:

--结束END--

本文标题: mongodb 常用命令 日期, 分组

本文链接: https://www.lsjlt.com/news/43414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MongoDB日常运维-01常用命令汇总
    MongoDB常用命令汇总(一) ---增,删,改,查 一:增(insert) 二:删(delete) 三:改(update) 四:查(select)  ---连接数...
    99+
    2024-04-02
  • MongoDB时间戳转日期及日期分组实例代码
    目录前言1、日期筛选2、日期转换3、日期分组4、日期排序补充:解决MongoDB存储时间时差的问题总结前言 最近遇到的一个数据统计折线图的性能优化点,可以说是一定思维上的转变,就记录下咯 背景:cron定时任务读取当前统...
    99+
    2023-05-16
    mongodb时间戳转时间 mongodb 时间戳 mongodb 日期分组
  • mongodb常用命令有哪些
    这篇文章主要讲解了“mongodb常用命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mongodb常用命令有哪些”吧!一、数据库常用命令1、Hel...
    99+
    2024-04-02
  • Linux日常维护常用命令
    本篇内容介绍了“Linux日常维护常用命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!网络命令: # ifconfig# 显示网络信息,包...
    99+
    2023-06-13
  • MongoDB的常用命令汇总(Mongo4.2.8)
    目录一、数据库相关二、用户相关三、集合Collection相关一、数据库相关 1.切换/创建数据库 >use “dbname”; 2.查询所有数据库 > show dbs...
    99+
    2024-04-02
  • MongoDB的常用命令有哪些
    MongoDB的常用命令有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、数据库相关切换/创建数据库>use “dbname”;查询所有数据库>&n...
    99+
    2023-06-26
  • MongoDB常用的基本操作命令
    这篇文章主要讲解了“MongoDB常用的基本操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB常用的基本操作命令”吧! ...
    99+
    2024-04-02
  • Mysql日期计算的命令
    这篇文章主要介绍“Mysql日期计算的命令”,在日常操作中,相信很多人在Mysql日期计算的命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql日期计算的命令”的疑惑...
    99+
    2024-04-02
  • MongoDB的安装及常用操作命令
    这篇文章主要讲解了“MongoDB的安装及常用操作命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MongoDB的安装及常用操作命令”吧!环境:cento...
    99+
    2024-04-02
  • python部分常用命令
    python中文注释方法 在python编写代码的时候,避免不了会出现或是用到中文,这时候你需要在文件开头加上中文注释。如果开头不声明保存编码的格式是什么,那么它会默认使用ASKII码保存文件,这时如果你的代码中有中文就会出错了,即使你的...
    99+
    2023-01-31
    常用命令 python
  • linux日常命令总结
    这篇文章主要介绍“linux日常命令总结”,在日常操作中,相信很多人在linux日常命令总结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux日常命令总结”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-05
  • maven的生命周期及常用命令介绍
    maven简介及优势     maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的...
    99+
    2023-05-30
    maven 生命周期 命令
  • MYSQL日常使用的命令整理
    这篇文章主要介绍“MYSQL日常使用的命令整理”,在日常操作中,相信很多人在MYSQL日常使用的命令整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MYSQL日常使用的命令...
    99+
    2024-04-02
  • Maven中配置文件、生命周期、常用命令的示例分析
    小编给大家分享一下Maven中配置文件、生命周期、常用命令的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!当前,JVM生态圈主要的三大构建工具:Apache Ant(带着Ivy)MavenGradle对于初学者,A...
    99+
    2023-05-30
    maven
  • Shell常用服务器日志分析命令有哪些
    今天小编给大家分享一下Shell常用服务器日志分析命令有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、查看有多少个I...
    99+
    2023-07-02
  • Linux系统中MongoDB常用命令有哪些
    这篇文章主要为大家展示了“Linux系统中MongoDB常用命令有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux系统中MongoDB常用命令有哪些”这篇文章吧。MongoDB 是一...
    99+
    2023-06-28
  • mongodb常用基本管理命令有哪些
    这期内容当中小编将会给大家带来有关mongodb常用基本管理命令有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1,启动服务使用参数--dbpath   &...
    99+
    2024-04-02
  • Linux系统下MongoDB常用命令有哪些
    这篇“Linux系统下MongoDB常用命令有哪些”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux系统下MongoDB常用命令有哪些”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家...
    99+
    2023-06-28
  • MongoDB Shell常用基本操作命令详解
    目录MongoDB Shell连接数据库库(database)的操作查看所有数据库test 库查看当前数据库删除数据库集合的基本操作创建集合查看集合删除集合其他 Shell 命令清屏退出 shell小结MongoDB S...
    99+
    2022-12-05
    MongoDB Shell操作命令 MongoDB Shell
  • MongoDB Shell常用基本操作命令详解
    目录MongoDB Shell连接数据库库(database)的操作查看所有数据库test 库查看当前数据库删除数据库集合的基本操作创建集合查看集合删除集合其他 Shell 命令清屏...
    99+
    2022-12-08
    MongoDB Shell操作命令 MongoDB Shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作