为什么我们在MongoDB中需要created_at

爱德华

我们为什么在created_at字段的时候timestamp可以在前4个字节中找到ObjectId

ObjectId("5349b4ddd2781d08c09890f4").getTimestamp()

取自MongoDB文档

在某些情况下,这样做是有意义的:

  1. 当您需要更高的精度时-ObjectId.getTimestamp()最多可以精确到秒,而Date字段则可以存储毫秒。mongoshell中进行比较new Date()yields ISODate("2016-01-03T21:21:38.032Z"),而ObjectId().getTimestamp()yields ISODate("2016-01-03T21:21:50Z")

  2. 当您完全不使用ObjectId时-通常认为应该使用填充_id字段,而实际上大多数驱动程序仅使用默认值,而MongoDB本身并不强加它-相反,它是鼓励使用文档中存在的任何“自然”唯一ID。在这种情况下,如果需要,您将必须自己存储“创建时间戳记”。ObjectIdObjectId

  3. 可用性-如果您依赖此字段及其中的数据,则至少从设计的角度来看,最好对其进行明确化。不过,这更多是一个品味问题。但是,如注释中所述,如果您还想按“创建时间戳记”进行过滤或排序-为它准备一个专用字段并$gt直接在其上使用查询运算符(如)会更容易

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mongodb为什么我们需要getSisterDB

来自分类Dev

mongodb为什么我们需要getSisterDB

来自分类Dev

为什么我们需要在MongoDB中定义数据模型

来自分类Dev

为什么我们需要Clojure中的'in(require'[...]])?

来自分类Dev

为什么我们需要MapReduce中的“地图”部分?

来自分类Dev

为什么我们需要Python中的属性?

来自分类Dev

为什么我们需要Java中的Properties类?

来自分类Dev

为什么我们需要纯<?>在Java中?

来自分类Dev

为什么我们在Typescript中需要任何类型?

来自分类Dev

为什么我们需要Kubernetes中的服务帐户?

来自分类Dev

我们为什么需要容器?

来自分类Dev

为什么我们需要IO?

来自分类Dev

为什么我们在http响应消息中既需要状态代码又需要短语代码?

来自分类Dev

为什么我们在http响应消息中既需要状态代码又需要短语代码?

来自分类Dev

什么是BIOS,为什么我们需要它?

来自分类Dev

为什么我们在Groovy中需要@lazy属性,它的优点是什么?

来自分类常见问题

为什么我们需要使用flatMap?

来自分类Dev

为什么我们需要Avro模式演变

来自分类Dev

为什么我们需要虚拟内存?

来自分类Dev

为什么我们需要在Linux上挂载?

来自分类Dev

为什么我们需要gevent.queue?

来自分类Dev

为什么我们需要创建CFC的实例?

来自分类Dev

为什么我们需要把*用作指针

来自分类Dev

为什么我们需要* .lib文件?

来自分类Dev

为什么我们需要分别编译和链接?

来自分类Dev

为什么我们需要隐式应用

来自分类Dev

为什么我们需要adsense来注册admob

来自分类Dev

为什么我们需要GUID的规范格式?

来自分类Dev

为什么我们需要数据仓库?

Related 相关文章

热门标签

归档