Javascript 如何在MongoDB';贝壳是什么?
我将unix时间戳存储为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) 但是您应该强烈地考虑将
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")