代码之家  ›  专栏  ›  技术社区  ›  ericosg

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

  •  1
  • ericosg  · 技术社区  · 5 年前

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

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

    > ObjectId("5a682326bf8380e6e6584ba5").getTimestamp()
    ISODate("2018-01-24T06:09:42Z")
    

    但我不知道该怎么做:

    db.users.find(
       { status: "active" },
       { "ObjectId(_id).getTimestamp()": 1 }
    )
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   mickl    5 年前

    你可以用 $toDate 操作人员

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

    Mongo Playground