按日期查询 MongoDB ObjectId
问题:
是否可以从以下位置检索文档基于嵌入在其 ObjectId 中的日期的 MongoDB 集合?
答案:
是的,可以借助嵌入的时间戳按日期查询 MongoDB ObjectId。
在 JavaScript 中,您可以使用 ObjectId() 函数构造具有特定时间戳的 ObjectId。例如,以下代码创建一个嵌入表示 1980 年 5 月 25 日午夜的时间戳的 ObjectId:
<code class="javascript">var timestamp = new Date('1980/05/25'); var hexSeconds = Math.floor(timestamp/1000).toString(16); var constructedObjectId = ObjectId(hexSeconds + "0000000000000000");</code>
要查询在此时间戳之后创建的所有文档,可以使用 $gt(大于)运算符:
<code class="javascript">db.mycollection.find({ _id: { $gt: constructedObjectId } });</code>
此查询将返回 ObjectId 时间戳大于 1980 年 5 月 25 日午夜的所有文档,根据创建日期有效过滤文档。
以上是## 您可以根据嵌入日期查询 MongoDB ObjectId 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!