我如何在mongoDB中使用对象ID获取时间戳。我正在使用NodeJS和mongoDB作为后端服务,因此我希望在将文档插入集合中时获取文档的日期和时间。 这就是我正在使用的:
db.Users.find()._id.getTimestamp()
输出
ISODate("2018-09-11T11:00:38Z")
现在我想知道的是:
1)将日期和时间与上述字符串分开,并将其转换为可读格式。
2):MongoDB对象ID返回的时间戳基于服务器时间或用户计算机。
谢谢
答案 0 :(得分:1)
1)getTimestamp()
在ObjectID
对象上可用,例如默认为_id
字段。因此,无论您如何获取文档,都可以使用它。这将返回一个JavaScript Date
对象,因此可以轻松提取和操作它,如您所愿。
2)ObjectID
中的嵌入式时间戳取决于创建时间戳。如果是在客户端创建的,它将来自客户端系统。如果它是在服务器端创建的,它将来自服务器系统。
答案 1 :(得分:0)
1-
.getTimestamp().toLocaleDateString() //get the date
.getTimestamp().toLocaleTimeString() // get the time
2-内部,Date对象存储为带符号的64位整数,表示自Unix时代(1970年1月1日)以来的毫秒数。 许多数据库存储日期的一种标准方式是自大纪元以来的毫秒数,0代表1970年1月1日格林尼治标准时间00:00:00。这就是内部使用大多数编程语言存储日期的方式。