如何将ObjectId转换为其整数值?

时间:2018-08-23 15:36:41

标签: mongoose

我尝试了以下操作:

id = mongoose.Types.ObjectId(123); 
ID = parseInt(id.valueOf(), 16);

ID不是123,而是2.2774854096055252e + 21。

如何获取用于创建ObjectId对象的原始编号?

1 个答案:

答案 0 :(得分:0)

您必须使用valueOf,然后从那里获得所需的零件。在您的情况下为generationTime,因为mongoId由几部分组成:

  
      
  • 4个字节的值,表示自Unix时代以来的秒数,
  •   
  • 3字节机器标识符,
  •   
  • 2字节进程ID,和
  •   
  • 3字节计数器,以随机值开头。
  •   
var id = mongoose.Types.ObjectId(123); 
console.log(id.valueOf().generationTime) // gives you 123