MongoDB $dayOfWeek

In MongoDB, the $dayOfWeek aggregation pipeline operator returns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday).

You can optionally specify a timezone to use for the result.

The $dayOfWeek operator accepts either a date (as either a Date, a Timestamp, or an ObjectId), or a document that specifies the date and timezone to use.

Read more

MongoDB $dayOfMonth

In MongoDB, the $dayOfMonth aggregation pipeline operator returns the day of the month for a date as a number between 1 and 31.

You can optionally specify a timezone to use for the result.

The $dayOfMonth operator accepts either a date (as either a Date, a Timestamp, or an ObjectId), or a document that specifies the date and timezone to use.

Read more

MongoDB $dayOfYear

In MongoDB, the $dayOfYear aggregation pipeline operator returns the day of the year for a date as a number between 1 and 366.

You can optionally specify a timezone to use for the result.

The $dayOfYear operator accepts either a date (as either a Date, a Timestamp, or an ObjectId), or a document that specifies the date and timezone to use.

Read more

MongoDB $currentDate

In MongoDB, the $currentDate operator sets the value of a field to the current date.

It can be set as either a Date or a timestamp type. The default is Date.

$currentDate is an update operator, and can only be used when updating documents, not when inserting them (although it can be used in upsert operations).

Read more

MongoDB $toDate

In MongoDB, the $toDate aggregation operator converts a value to a date

$toDate takes any valid expression. If the expression can’t be converted to a date, it returns an error. If the expression is null or missing, it returns null.

Read more

Calculate the Age in Years in PostgreSQL

Postgres has the age() function that returns the age in years, months, and days based on two dates.

This works fine unless you only want to return the age in years.

For example, you simply want to return a person’s age based on their birthday. You want something like 32 instead of 32 years 4 mons 67 days, which is what age() is likely to return.

Fortunately there’s an easy way to do this in PostgreSQL.

Read more