当我在js文件中执行dateAdded : new Date().toISOString()
创建要导入到mongo的数据的JSON文件时,它在mongo shell中显示为2016-11-26T21:51:23.879Z
。我希望它看起来像ISODate("2016-11-26T21:51:23.879Z")
。
我必须执行以下操作,将其更改为我常见的ISO包装器。
Comps.find({category : "Consumer Electronics"})
.then(function(comps){
console.log(comps.length)
comps.forEach(function(e){
console.log(e.name)
e.dateAdded = new Date(e.dateAdded.toString());
// e.category = "Auctions";
e.save(function(error, doc){
if(error) console.log(error);
console.log("doc saved : " , doc.name, " ", doc.category, " " , doc.dateAdded);
})
})
})
`
我可以在JS文件中做些什么来使用ISO包装器立即在mongo中显示日期吗?
在我的代码上方Consumer Electronics
的查询,但似乎我想按日期查询。
例如,如果我刚刚导入了300个文档并且我已经有1000个已经存在,那么我希望能够按照开始1001的日期进行查询。我想按日期查询但是如果它有ISOwrapper而我会感觉更好不想按类别查询。
我在mongoose Schema中有这个dateAdded : {type : Date, default : Date.now},
我最近一直在使用mongoimport所以我认为这甚至不重要。
答案 0 :(得分:0)
答案 1 :(得分:0)
当我们使用日期()时,它会将日期返回为字符串,但是要返回 ISODate 对象,您可以使用以下重载日期格式。
new Date("<YYYY-mm-dd>") which returns the ISODate with the specified date.
new Date("<YYYY-mm-ddTHH:MM:ss>") which specifies the datetime in local datetime and returns the ISODate with the specified datetime in UTC.
new Date("<YYYY-mm-ddTHH:MM:ssZ>") which specifies the datetime in UTC and returns the ISODate with the specified datetime in UTC.
有关详细信息,请查看mongod-Date