node.js - 给定两个 mongodb Id 如何确定哪个更旧

标签 node.js mongodb

假设我们有:

const a = ObjectId()
const b = ObjectId() 

我们可以做 if(a > b) {...}

如果它们是字符串呢?

  const a = String(ObjectId())
  const b = String(ObjectId())

我们应该使用 localComapre 还是 if > 仍然足以比较哪个更旧/更年轻?

最佳答案

ObjectId 对象包含时间戳,您可能需要比较它们。

const a = new ObjectId()
const b = new ObjectId()

if(a.getTimestamp() > b.getTimestamp()) {...}

字符串相同:

const a = String(new ObjectId())
const b = String(new ObjectId())

if((new ObjectId(a)).getTimestamp() > (new ObjectId(b)).getTimestamp()) {...}

关于node.js - 给定两个 mongodb Id 如何确定哪个更旧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58240787/

相关文章:

mongodb - 如何在 golang 中 $push 嵌套数组?

node.js - 什么是最好的 node.js 集群?

javascript - 使用 GraphicsMagick/gm 在附加图像之间添加边距

javascript - Node promise 链 : Local functions and how to pass multiple values (code-review)

mongodb 计数与使用计数查找

用于 Multi-Tenancy 的 MongoDB 'Manually Sharding'

MongoDB 将对象数组转换为单个对象

node.js - 来自 angular2 服务的 Nodejs api 调用

javascript - 在 Firebase 位置更改时全局设置警报的最佳方式

mongoDB白名单IP