Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
$week
The $week operator in Amazon DocumentDB returns the week number of a date (0-53) based on the ISO 8601 standard. The week number is calculated based on the year and the day of the week, with Monday as the first day of the week.
Parameters
None
Example (MongoDB Shell)
The following example demonstrates how to use the $week operator to retrieve the week number of a given date.
Create sample documents
db.events.insertMany([
{ _id: 1, date: new Date("2023-01-01") },
{ _id: 2, date: new Date("2023-01-08") },
{ _id: 3, date: new Date("2023-12-31") }
]);
Query example
db.events.aggregate([
{ $project: {
_id: 1,
week: { $week: "$date" }
}}
]);
Output
[
{ "_id": 1, "week": 1 },
{ "_id": 2, "week": 2 },
{ "_id": 3, "week": 53 }
]
Code examples
To view a code example for using the $week command, choose the tab for the language that you want to use:
- Node.js
-
const { MongoClient } = require('mongodb');
async function example() {
const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
const db = client.db('test');
const events = db.collection('events');
const result = await events.aggregate([
{ $project: {
_id: 1,
week: { $week: "$date" }
}}
]).toArray();
console.log(result);
await client.close();
}
example();
- Python
-
from pymongo import MongoClient
def example():
client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
db = client['test']
events = db['events']
result = list(events.aggregate([
{'$project': {
'_id': 1,
'week': {'$week': '$date'}
}}
]))
print(result)
client.close()
example()