从ObjectID中提取日期的投影

时间:2014-02-04 13:07:14

标签: mongodb

我想做这样的事情:

db.users.find({}, {name: 1, 'timestampFrom(_id)': 1})

这样我就能看到针对用户名的创建时间戳

有没有办法从投影中的ObjectID中提取时间戳?

1 个答案:

答案 0 :(得分:9)

查看ObjectId.getTimestamp()Documentation)。

您还可以mapDocumentation)此功能与您的查询。

db.users.find({}, {name: 1, _id : 1}).map(function(u) { return {name: u.name, created: u._id.getTimestamp() } });

返回包含user和新name属性的自定义created个对象的列表。

[
    {
        "name" : "Jack",
        "created" : ISODate("2014-01-03T21:04:19Z")
    },
    {
        "name" : John,
        "created" : ISODate("2014-01-07T18:12:50Z")
    }
]