首页 > 数据库 >mongoDB取日周月年

mongoDB取日周月年

时间:2023-12-22 11:02:39浏览次数:34  
标签:-% dateFromString 取日 mongoDB 周月 time 字符串 timezone data

1.$dateFromString字符串转时间类型

{

  $dateFromString:{

  dateString:<dateStringExpression>,   //要转化的时间字符串

  format:<formatExpression>,   //转换的格式,’%Y-%m-%dT%H:%M:%S.%LZ‘    

  timezone:<tzExpression>,   //指定时区

  onError:<onErrorExpression>,   //报错时输出

  onNull:<onNullExpression>   //null时输出

  }

}

如1:
{$dateFromString:{
        dateString:'2017-02-16T12:16:28.787'
    }
}
结果:ISODate('2017-02-16T12:16:28.787Z')

如2:
{$dateFromString:{
        dateString:'15-06-2018',
        fromat:'%d-%m-%Y'
    }
}
结果:ISODate('2018-06-15T00:00:0.000Z')

 

2.$dateToString 日期转字符串

{$dateToString:{

  dateToString:<dateExpression>,   

  format:<formatExpression>,    

  timezone:<tzExpression>,   

  onNull:<onNullExpression>   

}

 

3.周、周的第XX天

MongoDB中保存的datatime类型的数据是格林尼治时间,需要转成中国的东八区的时间。格林尼治时间如:ISODate("2023-11-22T00:00:00.000Z")

①时间保存为datatime类型

如下,此处的$datas.dt是datatime类型,$isoDayOfWeek是取ISO周的第XX天

weekDay: {
    $isoDayOfWeek: {
      date: "$datas.dt",
      timezone: "Asia/Shanghai",
    },
  }

 

②时间保存字符串类型

要先将字符串转成日期类型,再去取ISO周,如下,{"$dateFromString": {"dateString": "$data_time"}是将字符串转成日期类型,再用$isoWeek去取ISO周

isoWeek: {
    $isoWeek: {
        date: {
            "$dateFromString": {
                "dateString": "$data_time"
            }
        },
        "timezone": "Asia/Shanghai"
    }
}

 

4.月

注:data_time为字符串类型

month: {
    $substr: ['$data_time', 5, 2]
}

 

5.年

注:data_time为字符串类型

year: {
    $substr: ['$data_time', 0, 4]
}

 

6.取时段(30min和60min)

如datatime类型取时段,可先将datatime类型转成字符串,再通过字符串截取取时段

$substr: [{
    $dateToString: {
        format: '%Y-%m-%d %H:%M:%S',
        date: '$num_data.dt',
        timezone: 'Asia/Shanghai'
    }
}, 11, 5]

结果: 如2023-07-08T01:00:00.000Z  取时段为09:00

$substr: [{
    $dateToString: {
        format: '%Y-%m-%d %H:%M:%S',
        date: '$num_data.dt',
        timezone: 'Asia/Shanghai'
    }
}, 11, 2]

结果:如2023-07-08T01:00:00.000Z  取时段为09

 

标签:-%,dateFromString,取日,mongoDB,周月,time,字符串,timezone,data
From: https://www.cnblogs.com/plzh/p/17919390.html

相关文章

  • MongoDB限定条件的查询语句
    在MongoDB里面查询语句使用如下:--限定条件进行查询db.getCollection('source_news').find("_id":{$in:[28829497251611,28829497251535,28829497251452,28829497251359,28829497251276,28829497251238,28829497251130,28829497250977,28829497250914,28829497......
  • MySQL 获取日期、时间、时间戳
    MySQL获取当前日期、时间、时间戳函数_mysqldate_sub时间戳-CSDN博客#获取当前时间curtime()mysql>selectcurtime();+-----------+|curtime()|+-----------+|10:39:25|+-----------+#获取当前日期curdate()mysql>selectcurdate();+------------+|cur......
  • Mongodb快速入门
    目录简介MongoDB基础知识安装&配置基本数据类型CURD操作数据库操作集合操作(表)文档操作新增文档查询文档修改文档删除文档聚合Pymongo简介MongoDB是一款强大、灵活、且易于扩展的通用型数据库易用性MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用......
  • MongoDB、Elasticsearch、Redis、HBase应用场景分析
    1.MongoDB一个基于分布式文件存储的数据库系统,由C++编写,旨在为Web应用提供高速、可扩展、高性能的数据存储解决方案。MongoDB采用了文档型数据库模型,即数据以文档的形式存储,而文档是由键值对组成的。MongoDB的名称来自Hadoop创始人DougCutting的宠物狗Mongo。  应用场景......
  • 爬虫-今日头条我的收藏-增量式导入到mongodb(三)
    背景:续接前文,当我们有了原始数据之后,自然会想如何利用这些数据。这些文件数据都是json格式,打开一个文本文件眼睛都要看花。所以想把这些数据导入到对应的数据库中,市面上几乎所有数据库都支持json格式存储。随着时间的推移,用户不断有新的收藏,这样就不断产生新的收藏文件。需要不......
  • MongoDB中如何优雅地删除大量数据
    删除大量数据,无论是在哪种数据库中,都是一个普遍性的需求。除了正常的业务需求,我们也需要通过这种方式来为数据库“瘦身”。为什么要“瘦身”呢?表的数据量到达一定量级后,数据量越大,表的查询性能相对也会越差。毕竟数据量越大,B+树的层级会越高,需要的IO也会越多。表的数据有......
  • MongoDB mongoshake 迁移分片到复制集合
    Mongoshake是阿里云自研的开源工具,实现Mongodb数据库之间的数据同步,数据灾备,数据多活,分库分表,版本升级无间断。其中需要注意的一些事项1 Mongoshake尽量使用较高的版本,低版本的产品有一些Bug 2 Mongoshake在使用中需要源库的用户权限为readAnyDatabase  同时Mongoshake......
  • Linux服务器快速安装MongoDB-5.0
    最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到MongoDB,就在自己服务器上进行了安装,特此记录下。环境说明:阿里云ECS,2核8G,X86架构,CentOS7.9操作系统。选择版本1.打开MongoDB社区版下载页面,选择我们想要安装的版本、操作系统、和包类型,......
  • mongodb避坑
    1.首先MongoDB6.0及以上的版本是不带mongoshell的,所以要向用需要自己去下载,然后将压缩包解压到桌面然后复制过去一定是复制过去,要不然mongo的管理员权限不让你复制,  完成之后在这个文件加下的bin中双击后回车就可进入shell界面。2.然后是API操作,这里用的是maven,我们将代......
  • MongoDB:Java开发者的新型数据库解决方案
    一、介绍MongoDB是一种高性能、开源的、面向文档的数据库系统,它使用C++语言编写,并提供了一系列强大的功能和特性。MongoDB具有灵活的数据模型、高效的查询性能、强大的扩展性和易用性等特点,使得它成为Java开发者的新型数据库解决方案。二、MongoDB的特点文档型数据模型:MongoDB采用......