我想将mongo查询的输出导出到csv文件。我的代码是这样的
test. js:
db.<dbname>.find().forEach(function(d){print(d._id.valueOf()+","+d.date);});
然后我将这个文件传递给我的脚本,
mongo <mongoDB> test.js > test.csv
我得到的日期文件为2018年7月30日星期一15:11:25GMT0000(UTC),但我希望日期字段导出完全像mongoDB格式,如2018-07-30T15:11:25.862 00:00
您要查找的格式称为ISO-8601。
MongoDB将日期存储为64位整数,因此实际存储并传递回客户端的日期是1532963485000
mongoshell中的javascriptprint
函数使用每个对象的toString()
方法,对于返回您看到的字符串的ISODate。
Mongo shell支持制表符补全,因此您可以找到可用于ISODate对象的方法,例如:
MongoDB Enterprise replset:PRIMARY> var dt = new Date(1532963485000);
MongoDB Enterprise replset:PRIMARY> dt. <-- Press tab here
dt.constructor dt.getMonth( dt.getUTCHours( dt.propertyIsEnumerable( dt.setSeconds( dt.setUTCMonth( dt.toLocaleString(
dt.getDate( dt.getSeconds( dt.getUTCMilliseconds( dt.setDate( dt.setTime( dt.setUTCSeconds( dt.toLocaleTimeString(
dt.getDay( dt.getTime( dt.getUTCMinutes( dt.setFullYear( dt.setUTCDate( dt.setYear( dt.toString(
dt.getFullYear( dt.getTimezoneOffset( dt.getUTCMonth( dt.setHours( dt.setUTCFullYear( dt.toDateString( dt.toTimeString(
dt.getHours( dt.getUTCDate( dt.getUTCSeconds( dt.setMilliseconds( dt.setUTCHours( dt.toGMTString( dt.toUTCString(
dt.getMilliseconds( dt.getUTCDay( dt.getYear( dt.setMinutes( dt.setUTCMilliseconds( dt.toISOString( dt.tojson(
dt.getMinutes( dt.getUTCFullYear( dt.hasOwnProperty( dt.setMonth( dt.setUTCMinutes( dt.toLocaleDateString( dt.valueOf(
在你的情况下,你可能想用
d.date.toISOString()