【发布时间】:2016-03-14 08:54:48
【问题描述】:
我正在使用https://www.npmjs.com/package/mongodb
mongodb 已经把我的时间戳变成了 BSON(我知道这很正常)
我的时间戳是 641912491,而在数据库中它看起来像 1457904327000.000000。
我有一个文档,其中包含一个名为 date_in_the_past 的密钥,它以 BSON 形式保存我的时间戳。
注意:我完全知道 mongodb _id 键包含一个日期,但在这种情况下它对我没有用,因为那将是文档写入数据库的日期(不是过去的日期我正在寻找的)
如何将我的普通时间戳转换为 BSON 时间戳?
我试图理解mongodb/js-bson 和mongodb/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){});
【问题讨论】:
-
你试过只使用javascript日期对象
var past = new Date(641912491 * 1000) -
是的,这只是给了我
Sat May 05 1990 14:01:31 GMT+0100 (BST) -
这不是您要查找的日期吗?
-
我需要用 BSON 查找它,不是吗?
db.collection('docs').find({date_in_the_past:1457904327000.000000}) -
不是真的,如果你存储一个日期对象,你会查找一个日期对象,MongoDB 只在内部将它存储为 BSON,你不必传递它 BSON
标签: javascript node.js mongodb timestamp bson