从 MongoDB 中的 ObjectId 获取所有文档和项目时间戳

eri*_*osg 2 mongodb mongodb-query

我还没有弄清楚如何投影字段列表并包含从 objectid 生成的创建日期(时间戳)。

我正在使用 MongoDB 4.0.10,我知道我可以这样做:

> ObjectId("5a682326bf8380e6e6584ba5").getTimestamp()
ISODate("2018-01-24T06:09:42Z")
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何做到这一点:

db.users.find(
   { status: "active" },
   { "ObjectId(_id).getTimestamp()": 1 }
)
Run Code Online (Sandbox Code Playgroud)

mic*_*ckl 7

您可以使用$toDate运算符

db.collection.aggregate([
    { $match: { "status": "active" } },
    { $project: { ts: { $toDate: "$_id" } }} 
])
Run Code Online (Sandbox Code Playgroud)

蒙戈游乐场