在 MongoDB 中,时间和日期处理是非常重要的,因为这是大多数应用程序所必需的。本文将介绍一些 MongoDB 中时间和日期处理的技巧,并提供示例代码和指导意义。
日期和时间的概述
MongoDB 中使用了一种称为 BSON (Binary JSON) 格式的特殊格式,用于存储日期和时间。在 BSON 中,日期和时间被表示为从 Epoch (1970 年 1 月 1 日) 开始的毫秒数。这个毫秒数是一个长整型数据类型。
插入日期和时间
要将日期和时间插入 MongoDB 中,您需要使用 JavaScript Date 对象。以下是如何在 MongoDB 中插入当前日期和时间的示例代码:
db.collection.insertOne({ "created_at": new Date() })
您可以使用不同的方式来插入不同的日期/时间格式。例如:
db.collection.insertOne({ "created_at": new Date("2021-01-01T00:00:00.000Z") })
查询日期和时间
MongoDB 支持多种方式查询日期和时间。要查询给定日期之后的所有数据,您可以使用 $gte 操作符。以下是一个示例:
db.collection.find({ "created_at": { "$gte": new Date("2021-01-01T00:00:00.000Z") } })
使用 $lt 操作符可以查询给定日期之前的所有数据:
db.collection.find({ "created_at": { "$lt": new Date("2021-01-01T00:00:00.000Z") } })
还可以使用 $gte 和 $lt 操作符来查询给定日期范围内的所有数据:
db.collection.find({ "created_at": { "$gte": new Date("2021-01-01T00:00:00.000Z"), "$lt": new Date("2021-02-01T00:00:00.000Z") } })
改变时区
MongoDB 存储的时间是 UTC 标准时间,如果您需要根据应用程序或用户所在的时区转换日期和时间,您可以使用 Moment.js 库。以下是如何在代码中使用 Moment.js 库:
const moment = require('moment-timezone'); const date = moment().tz('America/Los_Angeles').toDate(); db.collection.insertOne({ "created_at": date });
结论
在 MongoDB 中处理日期和时间非常重要,因为它们是许多应用程序所必需的。本文提供了一些技巧和示例代码,希望可以帮助您更好地处理 MongoDB 中的日期和时间。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/676eac3649d1d14bb9e1ba2c