MongoDB $year 运算符介绍
Mongodb 是一个流行的 NoSQL 数据库,支持丰富的查询操作,包括各种运算符。 $year
运算符是其中一个用于操作日期时间类型的运算符,可以提取一个日期时间字段的年份。
语法
$year
运算符的语法如下:
{ $year: <dateExpression> }
其中,<dateExpression>
是一个表达式,用于表示一个日期时间字段。
使用场景
$year
运算符可以用于各种查询场景,比如统计某个时间段内的数据,或者根据年份对数据进行聚合等等。
示例
假设有一个名为 users
的集合,其中包含以下文档:
{
"_id": 1,
"username": "alice",
"registerDate": ISODate("2022-02-28T12:34:56Z")
}
{
"_id": 2,
"username": "bob",
"registerDate": ISODate("2021-03-15T09:15:23Z")
}
{
"_id": 3,
"username": "charlie",
"registerDate": ISODate("2020-12-01T18:27:09Z")
}
我们可以使用 $year
运算符来提取registerDate
字段的年份,并且只返回 2021 年注册的用户的信息,如下所示:
示例数据
db.users.insertMany([
{ _id: 1, username: "alice", registerDate: ISODate("2022-02-28T12:34:56Z") },
{ _id: 2, username: "bob", registerDate: ISODate("2021-03-15T09:15:23Z") },
{ _id: 3, username: "charlie", registerDate: ISODate("2020-12-01T18:27:09Z") }
])
示例代码
db.users.find({ $expr: { $eq: [{ $year: "$registerDate" }, 2021] } })
运行以上代码,得到以下结果:
{ "_id" : 2, "username" : "bob", "registerDate" : ISODate("2021-03-15T09:15:23Z") }
这个查询结果只包含了 bob
这个用户的信息,因为他是 2021 年注册的用户。
结论
$year
运算符可以很方便地提取一个日期时间字段的年份,可以用于各种查询和聚合场景。