mongodb date mongolian deadbeef

时间:2011-06-21 11:48:19

标签: javascript mongodb node.js

我正在使用mongolian deadbeef client node.js

我有这样的文件:

{
  "time": 1308651397345,
  "_id": {
      "$oid": "4e006f853d93e4676e00000a"
  }
}

但是当我使用mongolian deadbeef client访问它时,我看到了:

{ 
  time: { low_: -1313627935, high_: 304 },
  _id: 4e006f853d93e4676e00000a 
}

如何访问正确的时间?

由于

2 个答案:

答案 0 :(得分:2)

请注意Mongo ObjectIds包含其中的时间戳。它只是为了使用_id而节省空间。

我从未使用过node.js或蒙古牛肉。但是,这适用于mongo客户端

> var foo = new ObjectId()                                            
> foo.getTimestamp()                                                  
ISODate("2012-08-06T12:58:15Z")                                       
> foo.getTimestamp                                                    
function () {                                                         
    return new Date(parseInt(this.toString().slice(0, 8), 16) * 1000);
}                                                                     

最后一部分向您展示了如何自己实现getTimeStamp()。

最后请注意,10gen已发布了officially supported node.js driver

答案 1 :(得分:1)

尝试time.toNumber(),你看到的是64位长被分成两个32位的整数。