我正在使用mongolian deadbeef client node.js
我有这样的文件:
{
"time": 1308651397345,
"_id": {
"$oid": "4e006f853d93e4676e00000a"
}
}
但是当我使用mongolian deadbeef client访问它时,我看到了:
{
time: { low_: -1313627935, high_: 304 },
_id: 4e006f853d93e4676e00000a
}
如何访问正确的时间?
由于
答案 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位的整数。