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

Mongoose 如何将ObjectId转换为其整数值?,mongoose,Mongoose,我尝试了以下方法: id = mongoose.Types.ObjectId(123); ID = parseInt(id.valueOf(), 16); ID不是123,而是2.2774854096055252e+21 如何取回用于创建ObjectId对象的原始编号?您必须使用并从中获取所需的零件。在您的情况下,这是generationTime,因为它由几个部分组成: 表示自Unix纪元以来的秒数的4字节值 3字节机器标识符 2字节进程id,以及 3字节计数器,以随机值开始 var i

我尝试了以下方法:

id = mongoose.Types.ObjectId(123); 
ID = parseInt(id.valueOf(), 16);
ID不是123,而是2.2774854096055252e+21

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

您必须使用并从中获取所需的零件。在您的情况下,这是generationTime,因为它由几个部分组成:

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