Javascript 如何在MongoDB';贝壳是什么?

Javascript 如何在MongoDB';贝壳是什么?,javascript,mongodb,Javascript,Mongodb,我将unix时间戳存储为MongoDB的NumberLong类型(毫秒),如何在MongoShell中转换为人类可读的日期字符串?如果使用new调用toString(),可以将NumberLong值直接传递给date构造函数将其转换为人类可读的字符串: > var n = NumberLong('1397051113715') > (new Date(n)).toString() Wed Apr 09 2014 08:45:13 GMT-0500 (CDT) 但是您应该强烈地考虑将

我将unix时间戳存储为MongoDB的
NumberLong
类型(毫秒),如何在MongoShell中转换为人类可读的日期字符串?

如果使用
new
调用
toString(),可以将
NumberLong
值直接传递给
date
构造函数
将其转换为人类可读的字符串:

> var n = NumberLong('1397051113715')
> (new Date(n)).toString()
Wed Apr 09 2014 08:45:13 GMT-0500 (CDT)

<>但是您应该强烈地考虑将这些时间戳存储在MUGODB中的<代码>日期> />代码>中,以更大的灵活性。

< P>我使用这样的表达式:

>Date(NumberLong("1397051113715")); 

它也会起作用。

我使用以下方法将unix数字转换为长历元:

new Date(1413382500151)

供我将来参考(并结合其他答案):


例如,不需要将其转换为字符串

 >var a = db.collection.findOne({name :"zengse"},{"createDate":1,_id:0})
 > a.createDate
 NumberLong("1575741914380")
 > var b = a.createDate.toNumber()
 > new Date(b)
 ISODate("2019-12-07T18:05:14.380Z")

1413382500151只是一个
Number
类型,而不是
NumberLong
。在第二个视图中,这似乎不起作用。它为每个
$numberLongDate
返回相同的日期。修复方法如下:
newDate:{$add:[newDate(“1970-01-01”),“$numberLongDate”]}
。您好,fwc,我一直在尝试模拟上面的代码,当我运行它时,它在所有新的日期列中返回空值。你能看出我做错了什么吗
db.mycoll.aggregate([{$project:{newDate:{$add:[newDate(“1970-01-01”),“$numberLongDate”]}}}}}])
很难说,$numberLongDate可能需要作为日期字段的名称?
NumberLong(123123123123131).toNumber().toString()
 >var a = db.collection.findOne({name :"zengse"},{"createDate":1,_id:0})
 > a.createDate
 NumberLong("1575741914380")
 > var b = a.createDate.toNumber()
 > new Date(b)
 ISODate("2019-12-07T18:05:14.380Z")