我知道我们可以使用getTimestamp()从 ObjectId 中检索时间戳,但是有没有办法从时间戳生成 ObjectId?
更具体地说,如果我有月和年的输入,那么我想将其转换为Mongo ObjectID以在 db 中查询,我该怎么做?
小智 11
尝试这个,
> ObjectId("5a682326bf8380e6e6584ba5").getTimestamp()
ISODate("2018-01-24T06:09:42Z")
> ObjectId.fromDate(ISODate("2018-01-24T06:09:42Z"))
ObjectId("5a6823260000000000000000")
Run Code Online (Sandbox Code Playgroud)
从 mongo shell 工作。
如果将数字传递给 bson ObjectId 构造函数,它会将其作为时间戳并将其传递给生成方法。
您可以根据此答案获取月份和年份的日期(月份从零开始)。
所以:
timestamp = ~~(new Date(2016, 11, 17) / 1000)
new ObjectId(timestamp)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11814 次 |
| 最近记录: |