如何将正常时间戳转换为BSON时间戳?

时间:2016-03-13 22:45:09

标签: javascript node.js mongodb timestamp bson

我正在使用https://www.npmjs.com/package/mongodb

mongodb已将我的时间戳改为BSON(我知道这是正常的)

我的时间戳是641912491,就像数据库中的1457904327000.000000一样。

我有一个名为date_in_the_past的密钥的文档,它以我的BSON格式保存我的时间戳。

  

注意:我完全清楚mongodb _id键有一个日期,但在这种情况下对我来说没用,因为那是文档写入db的日期(不是过去的日期)我正在寻找)

如何将正常时间戳转换为BSON时间戳?

我试图了解mongodb/js-bsonmongodb/js-bson/blob/master/lib/bson/timestamp.js,但我看不出该怎么做。

我想要做的例子:

var past=timestampToBSON(641912491);
db.collection('docs').find({date_in_the_past:past}).limit(1).toArray(function(e,r){});

1 个答案:

答案 0 :(得分:1)

如果它存储为bson时间戳对象,你可以这样做

var Timestamp = require('mongodb').Timestamp; 

var past = Timestamp(641912491,1);
db.collection('docs').find({date_in_the_past:past})

db.collection('docs').find({date_in_the_past: Timestamp(641912491,1)})

它有更多关于它的信息和示例 https://docs.mongodb.org/manual/reference/bson-types/#timestamps