首页  >  文章  >  web前端  >  如何使用 ObjectId 的嵌入时间戳按创建日期查询 MongoDB 文档?

如何使用 ObjectId 的嵌入时间戳按创建日期查询 MongoDB 文档?

DDD
DDD原创
2024-10-25 12:55:30807浏览

How can I query MongoDB documents by their creation date using ObjectId's embedded timestamp?

按日期查询 MongoDB ObjectId

MongoDB 中的 ObjectId 编码表示它们创建时刻的时间戳。要利用此功能进行数据检索,以下是 JavaScript 中的说明和示例:

使用嵌入日期进行查询

以下函数生成包含提供的日期时间的 ObjectId:

<code class="javascript">function objectIdWithTimestamp(timestamp) {
    timestamp = new Date(timestamp);
    var hexSeconds = Math.floor(timestamp/1000).toString(16);
    return ObjectId(hexSeconds + "0000000000000000");
}</code>

为了说明这种用法,这里有一个查询,用于查找 1980 年 5 月 25 日午夜之后创建的文档:

<code class="javascript">db.mycollection.find({ _id: { $gt: objectIdWithTimestamp('1980/05/25') } });</code>

此查询有效地利用 ObjectId 中嵌入的时间戳来获取相关的基于创建日期的文档。

以上是如何使用 ObjectId 的嵌入时间戳按创建日期查询 MongoDB 文档?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn