在 MongoDB 中,时间戳和日期是两个重要的数据类型。它们在实际开发中也经常用到,但很多开发者对它们的特性和使用方法并不够了解。本篇文章将深入探讨 MongoDB 中时间戳与日期的特性和使用方法。
时间戳
在 MongoDB 中,时间戳是指从 1970 年 1 月 1 日 00:00:00 UTC 到当前时间的毫秒数,它以整数的形式存储。时间戳常常用于记录文档的创建时间和修改时间,可以通过 Date() 构造函数来生成当前时间的时间戳。
var timestamp = new Date().getTime();
如果需要获取文档的创建时间和修改时间,可以使用 $currentDate 操作符。$currentDate 操作符会在更新文档时,将指定字段的值设置为当前时间的时间戳。
db.collection.updateOne( { _id: id }, { $currentDate: { created_at: true, updated_at: true } } );
日期
MongoDB 中的日期与 JavaScript 日期相似,它们也可以表示从 1970 年 1 月 1 日 00:00:00 UTC 开始的毫秒数。在 MongoDB 中,日期以 ISODate() 类型存储。可以使用 new Date() 构造函数或 ISODate() 函数来创建一个日期对象。
var date1 = new Date(); var date2 = ISODate("2022-01-01T00:00:00Z");
MongoDB 提供了丰富的日期格式化方法,可以将日期对象格式化成字符串,或者将字符串转换成日期对象。
var dateString = date1.toISOString(); var newDate = new Date(Date.parse(dateString));
如果需要查询指定日期范围内的文档,可以使用 $gte 和 $lte 操作符。$gte 表示大于或等于,$lte 表示小于或等于。下面的查询操作可以查找 2022 年之后创建的文档。
db.collection.find({ created_at: { $gte: new Date("2022-01-01") } });
总结
时间戳和日期在 MongoDB 中都有着重要的作用。时间戳可以用于记录文档的创建时间和修改时间,日期则可以用于查询指定日期范围内的文档。在实际开发中,我们需要合理的使用时间戳和日期,并根据具体业务情况灵活应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64edad7bf6b2d6eab37d5cab