我想做这样的事情:
db.users.find({}, {name: 1, 'timestampFrom(_id)': 1})
这样我就能看到针对用户名的创建时间戳
有没有办法从投影中的ObjectID中提取时间戳?
答案 0 :(得分:9)
查看ObjectId.getTimestamp()
(Documentation)。
您还可以map
(Documentation)此功能与您的查询。
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")
}
]