MongoDB聚合运算符:$week

MongoDB聚合运算符:$week

文章目录

  • MongoDB聚合运算符:$week
    • 语法
    • 使用
    • 举例

$week聚合运算符返回指定日期日期为一年中第几周的数字值为0到53之间。周从周日开始,第1周从一年的第一个周日开始。一年中第一个星期日之前的日期为第0周。这和 strftime标准库函数中的 "%U"操作符相同。

语法

{ $week: <dateExpression> }

参数说明:

  • <dateExpression>为可解析为Date、Timestamp或ObjectID
  • 或者参数也可以是一个文档:
    { date: <dateExpression>, timezone: <tzExpression> }
    • timezone为可选参数,用于指定运算时的时区
    • <tzExpression>为字符串或字符串表达式,其值为奥尔森时区标识符或UTC偏移,如果不指定,则默认为UTC。
      奥尔森时区标识符:“America/New_York”、“Europe/London”、“GMT”
      UTC偏移量:+/-[hh]:[mm] 如: “+04:45”;+/-[hh][mm],如: “-0530”;+/-[hh],如:“+03”

使用

参考下面的例子来说明:

例1:

{ $week: new Date("Jan 1, 2016") }

结果:0

例2:

{ $week: { date: new Date("2016-01-04") } }

结果:1

例3:

{ $week: {date: new Date("August 14, 2011"),timezone: "America/Chicago"
} }

结果:33

例4:

{ $week: ISODate("1998-11-01T00:00:00Z") }

结果:44

例5:

{ $week: {date: ISODate("1998-11-01T00:00:00Z"),timezone: "-0500"
} }

结果:43

例6:

{ $week: "March 28, 1976" }

结果:error

例7:

{ $week: Date("2016-01-01") }

结果:error

例8:

{ $week: "2009-04-09" }

结果:error

举例

salse集合有下面的文档:

{"_id" : 1,"item" : "abc","price" : 10,"quantity" : 2,"date" : ISODate("2014-01-01T08:15:39.736Z")
}

下面的聚合使用$week和其他的日期表达式来分解日期字段

db.sales.aggregate([{$project:{year: { $year: "$date" },month: { $week: "$date" },day: { $dayOfMonth: "$date" },hour: { $week: "$date" },minutes: { $minute: "$date" },seconds: { $second: "$date" },milliseconds: { $week: "$date" },dayOfYear: { $dayOfYear: "$date" },dayOfWeek: { $dayOfWeek: "$date" }}}]
)

操作返回下面的结果:

{"_id" : 1,"year" : 2014,"month" : 1,"day" : 1,"hour" : 8,"minutes" : 15,"seconds" : 39,"milliseconds" : 736,"dayOfYear" : 1,"dayOfWeek" : 4,"week" : 0
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫入门经典(七) | 采集淘宝电场相关信息

大家好&#xff0c;我是不温卜火&#xff0c;昵称来源于成语—不温不火&#xff0c;本意是希望自己性情温和。 PS&#xff1a;由于现在越来越多的人未经本人同意直接爬取博主本人文章&#xff0c;博主在此特别声明&#xff1a;未经本人允许&#xff0c;禁止转载&#xff01;&a…

烟罩一体机清洗维护指南:引领绿色餐饮新时代

我最近分析了餐饮市场的油烟净化器等产品报告&#xff0c;解决了餐饮业厨房油腻的难题&#xff0c;更加方便了在餐饮业和商业场所有需求的小伙伴们。 在现代餐饮行业&#xff0c;保持厨房环境清洁和空气质量优良已成为餐厅经营的重要部分。烟罩一体机作为高效油烟净化设备&…

java和c++中i = i++编译报错

在C和C中&#xff0c;i i这样的语句是未定义行为&#xff08;Undefined Behavior&#xff09;。这意味着编译器可以根据其实现规范进行任何操作&#xff0c;包括让程序崩溃、产生错误结果或者产生未预期的行为。在这种情况下&#xff0c;i的值在执行i时会被递增&#xff0c;但…

2123 求二叉树的高和宽

描述 以二叉链表为存储结构&#xff0c;分别写出求二叉树高度及宽度的算法&#xff0c;所谓宽度是指二叉树的各层上&#xff0c;具有结点数最多的那一层上的结点总数。 输入 括号表示的二叉树&#xff0c;如: A(B,C) 输出 二叉树的高度和宽度&#xff0c;用空格分隔&#xf…

AI学习指南数学工具篇-PCA基础知识

AI学习指南数学工具篇-PCA基础知识 1. PCA是什么&#xff1f; PCA&#xff0c;即主成分分析&#xff08;Principal Component Analysis&#xff09;&#xff0c;是一种常用的数据降维技术。它通过线性变换将原始数据投影到一个新的坐标系中&#xff0c;旨在找到数据中的“主成…

main.ts中import App from ‘./App.vue‘报错:找不到模块或者相应的类型证明

在src文件夹下创建一个shims-vue.d.ts并输入以下内容&#xff1a; declare module *.vue {import { ComponentOptions } from vueconst componentOptions: ComponentOptionsexport default componentOptions } 参考链接vue3 报错解决&#xff1a;找不到模块或其相应的类型声明…

Galxe已投资Pencils Protocol,投资者阵营正不断扩大

近日&#xff0c;Scroll 生态项目 Penpad 将品牌进一步升级为 Pencils Protocol&#xff0c;全新升级后其不仅对 LaunchPad 平台进行了功能上的升级&#xff0c;同时其也进一步引入了 Staking、Vault 以及 Shop 等玩法&#xff0c;这也让 Pencils Protocol 的叙事方向不再仅限于…

基础之音视频2

01 前言 02 mp 03 mp实例 简易音乐播放器 04 音频 sound-pool 1.作用 播放多个音频&#xff0c;短促音频 2.过程 加载load- 3.示例 模拟手机选铃声 步骤&#xff1a; 创建SoundPool对象&#xff0c;设置相关属性 音频流存入hashmap 播放音频 05 videoview 3gp 体积小 mp4 …

凸优化(Stephen Boyd) 2-4章答案(中文版)

https://www.123pan.com/s/erusjv-4xXed.html提取码:d4UD 由于是机翻&#xff0c;所以有些地方有错误。建议和原文对照阅读。原英文版答案网上很多。

让你情绪变好的七个小技巧

在快节奏的现代生活中&#xff0c;我们常常忙于奔波&#xff0c;忽略了生活中的小细节。然而&#xff0c;正是这些小小的行动&#xff0c;可以为我们的日常生活带来巨大的改变。以下是一些简单的生活步骤&#xff0c;它们能够帮助你提升生活质量&#xff0c;让你的生活焕发新的…

web安全学习笔记(15)

记一下第25-26课的内容。弱口令爆破的四种模式与判断成功失败的三种方案&#xff1b;爆破中的验证码拦截错误次数IP限制密码加密绕过 IP获取的原理以及绕过CDN获取客户真实IP 一、弱口令的分类 1.常规弱口令&#xff1a;如123456&#xff0c;666666&#xff0c;888888等 2.…

【软件测试】需求概念|软件的⽣命周期|开发模型|测试模型

目录 推荐 一、什么是需求 1.1 ⽤⼾需求 1.2 软件需求 二、开发模型 2.1 什么是“模型” 2.2 软件的⽣命周期 2.3 常⻅开发模型 2.3.1 瀑布模型 2.3.2 螺旋模型 2.3.3 增量模型、迭代模型 2.3.4 敏捷模型 2.4 测试模型 2.4.1 V模型 2.4.2 W模型(双V模型&#xff0…

Java_从入门到JavaEE_16

一、迭代器 1.Iterator 概念&#xff1a;Iterator是一个接口&#xff0c;它是集合的迭代器&#xff0c;集合可以通过Iterator去遍历集合中的元素&#xff0c;常用API接口&#xff1a; hasNext():如果迭代器中还有元素&#xff0c;则返回true。next():返回迭代器中的下一个元素…

使用RN的kitten框架的日历组件的修改

官方网页地址 下面就是我参考官方封装的时间日期组件&#xff08;主要是功能和使用方法&#xff0c;页面粗略做了下&#xff0c;不好看勿怪&#xff09; import React, {useState} from react; import {StyleSheet, View, TouchableOpacity, SafeAreaView} from react-native; …

FreeRTOS消息队列queue.c文件详解

消息队列的作用 消息队列主要用来传递消息&#xff0c;可以在任务与任务之间、中断与任务之间传递消息。 传递消息是通过复制的形式&#xff0c;发送方发送时需要不断复制&#xff0c;接收方接收时也需要不断复制。虽然会有内存资源的浪费&#xff0c;但是可以保证安全。 假…

Java项目:基于ssm框架实现的实验室耗材管理系统(B/S架构+源码+数据库+毕业论文+答辩PPT)

一、项目简介 本项目是一套基于ssm框架实现的实验室耗材管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 二、技术实现 jdk版本&#xff1a;1.8 …

2024年最新最全面的软件测试面试题(四)

1、在项目中如何保证软件质量? 项目质量不仅仅是某个人或某个团队来保障的&#xff0c;而是整个团队一起努力的结果&#xff0c;因此&#xff0c;在公司级别需要 有一个规范的项目流程。 产品&#xff0c;保证迭代过程中的产品逻辑&#xff0c;对于可能的兼容&#xff0c;升…

基于Springboot+Vue的Java项目-宠物商城网站系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

C++列表实现

文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel&#xff1a;一个抽象的类&#xff0c;为数据项模型提供抽象的接口&#xff0c;常见的的数据模型列如&#xff1a;QStringListModel,QStandardItemMode,QDirModel…

AI大模型探索之路-训练篇23:ChatGLM3微调实战-基于P-Tuning V2技术的实践指南

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…