AggregateCommand.isoWeek(value: Expression<string>): Object

支持端:小程序 2.7.4 起, 云函数 0.8.1

聚合操作符。返回日期字段对应的 ISO 8601 标准的周数(一年中的第几周),是一个介于 1 到 53 之间的整数。

参数

value: Expression<string>

日期字段

返回值

Object

API 说明

根据 ISO 8601 标准,周一到周日视为一周,本年度第一个周四所在的那周,视为本年度的第 1 周。

例如:2016 年 1 月 7 日是那年的第一个周四,那么 2016.01.04(周一)到 2016.01.10(周日) 即为第 1 周。同理,2016 年 1 月 1 日的周数为 53。

语法如下:

  1. db.command.aggregate.isoWeek(<日期字段>)

示例代码

假设集合 dates 有以下文档:

  1. {
  2. "_id": 1,
  3. "date": ISODate("2019-05-14T09:38:51.686Z")
  4. }

我们使用 isoWeek()date 字段进行投影,获取对应的 ISO 8601 标准的周数(一年中的第几周):

  1. const $ = db.command.aggregate
  2. db
  3. .collection('dates')
  4. .aggregate()
  5. .project({
  6. _id: 0,
  7. isoWeek: $.isoWeek('$date')
  8. })
  9. .end()

输出如下:

  1. {
  2. "isoWeek": 20
  3. }