介绍
Mongoose 是 Node.js 中一个优秀的 MongoDB 数据库 ODM(Object Document Mapping)库,让我们可以通过 JavaScript 方式来与 MongoDB 进行交互。在 Mongoose 中,我们可以使用 Date 类型来存储日期时间,该类型支持多种操作和格式化方式,本文将对其进行详解。
定义 Date 类型
在 Mongoose 中定义 Date 类型非常简单,只需要在模式定义时使用 Date
类型即可:
const userSchema = new mongoose.Schema({ name: String, age: Number, birthday: Date })
在此实例代码中,我们定义了一个用户模式,其包含 name
, age
和 birthday
三个字段,其中 birthday
为 Date
类型。
Date 类型的操作
赋值
我们可以使用多种方式来为 Date
类型变量赋值:
-- -------------------- ---- ------- -- ---- ----- --- - --- ------ ----- ---- - --- ------ --------- --- -- -- --- ----- --------- - ------------- ----- ---- - --- ------ --------- --- --------------- -- -- ----- ----- ---------- - -------------------------- ----- ---- - --- ------ --------- --- ---------------- --
读取
可以通过以下方式获取 Date
类型中存储的时间内容:
const user = await User.findOne({}) console.log(user.birthday) // 2022-01-01T00:00:00.000Z
比较
我们可以对 Date
类型的变量进行比较操作,比如:
const users = await User.find({ birthday: { $gt: new Date('1990-01-01') } })
在此实例代码中,我们通过 $gt
操作符比较了 birthday
字段是否大于 1990 年 1 月 1 日。
格式化
我们可以使用 moment.js
等日期库对 Date
类型进行格式化处理,在 Mongoose 中也提供了一些内置函数进行日期格式化:
const user = await User.findOne({}) console.log(user.birthday.toLocaleString()) // 2022/1/1 下午8:00:00 console.log(user.birthday.toUTCString()) // Sat, 01 Jan 2022 12:00:00 GMT console.log(user.birthday.toISOString()) // 2022-01-01T00:00:00.000Z
在此实例代码中,我们使用了 toLocaleString()
、 toUTCString()
和 toISOString()
等函数对 Date
类型进行格式化操作。
总结
本文对 Mongoose 中 Date
类型的使用进行了详细的介绍,包括了赋值、读取、比较和格式化等操作,相信对于学习 Node.js 开发者来说具有较大的指导意义。希望本文能够帮助到大家。
参考链接
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64d485abb5eee0b525c10dce