Skip to main content

db.command.aggregate.week

1. Operator Description

Function: Returns the week number (the week of the year) for a date field, which is an integer ranging from 0 to 53.

Declaration: db.command.aggregate.week(<date field>)

Notes:

Each week starts on Sunday, and the first Sunday of the year marks the start of week 1, with the period before this day being week 0.

2. Operator Parameters

FieldTypeRequiredDescription
-ExpressionRequiredaggregate expression

3. Sample Code

Suppose the collection dates contains the following documents:

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

We use week() to project the date field and obtain the corresponding week number (the week of the year):

// Sample code in the Cloud Function environment
const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({
env: 'xxx'
})

const db = app.database()
const $ = db.command.aggregate
const _ = db.command

exports.main = async (event, context) => {
const res = await db
.collection('dates')
.aggregate()
.project({
_id: 0,
week: $.week('$date')
})
.end()
console.log(res.data)
}

The output is as follows:

{
"week": 19
}