我还没有弄清楚如何投影字段列表,并包括从ObjectId生成的日期(时间戳)。
我正在使用MongoDB 4.0.10,我知道我可以做到:
> ObjectId("5a682326bf8380e6e6584ba5").getTimestamp() ISODate("2018-01-24T06:09:42Z")
但我不知道该怎么做:
db.users.find( { status: "active" }, { "ObjectId(_id).getTimestamp()": 1 } )
你可以用 $toDate 操作人员
db.collection.aggregate([ { $match: { "status": "active" } }, { $project: { ts: { $toDate: "$_id" } }} ])
Mongo Playground