我使用的是 mongodb3.0.5,我的集合如下所示:
{
"_id" : "xxxxxxxxxxxxxxx",
"SchoolId" : 1,
"ActivationTimestamp" : ISODate("2015-09-22T13:01:58.000Z"),
"PersonDetails" : [
{
"Name" : "John",
"AddressZone" : 6,
},
{
"Name" : "Mary",
"AddressZone" : 5,
},
],
"CreationTimestamp" : ISODate("2015-11-10T10:55:00.009Z")
}
我有一个像这样的js文件:
var printData = function(doc){
print(doc.CreationTimestamp+","+doc.SchoolId+","+doc.PersonDetails.Name+","+doc.PersonDetails.AddressZone)
};
var cur =
db.test.aggregate([
{$match: {_id: "xxxxxxxxxxxxxxx"}},
{$unwind: '$PersonDetails'}]);
cur.forEach(printData);
如果我运行此命令:
.\mongo localhost/test test.js > output.txt
我得到以下输出(不包括所有行,只是一个示例):
2015 年 9 月 22 日星期二 14:01:58 GMT+0100(GMT 夏令时间),1,约翰,6
但我希望日期的格式如下:
2015年9月22日14:01:58
是否有函数或其他东西可以输出上述日期时间?
最佳答案
您可以使用日期并将其放入 JavaScript 日期对象中:
var d = new Date(doc.CreationTimestamp);
现在您可以随心所欲地按摩它:
var date = d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
检查http://www.w3schools.com/jsref/jsref_obj_date.asp对于您可以在日期对象上调用的所有函数。
关于javascript - 使用 javascript 文件进行 Mongodb 查询 - 格式日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33634237/