使日期ISO包装
当我做dateAdded : new Date().toISOString()
在js文件中创建JSON文件的数据导入到mongo它在mongo shell中显示为2016-11-26T21:51:23.879Z
。我希望它看起来像ISODate("2016-11-26T21:51:23.879Z")
。使日期ISO包装
我不得不做下面的事情来改变它到我通常看到的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包装,对吗?
在我的代码上面查询Consumer Electronics
,但似乎我想按日期查询。
例如,如果我刚刚导入了300个文档,并且我已经在那里有1000个,我希望能够通过开始1001的日期进行查询。我想按日期查询,但如果它具有ISOwrapper和我不想按类别查询。
我有这样的猫鼬纲要dateAdded : {type : Date, default : Date.now},
我最近一直在使用mongoimport,所以我不认为这很重要。
当我们使用日期(),则返回日期字符串,但是返回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
我认为这些只适用于mongo shell。我不认为你可以在你的Java脚本中使用它们。 – Veeram
我相信这种行为是特定于驱动程序的,您是否找到了解决方案? –
我知道我可以存储这样的一个日期,但我不认为它会出现与ISO的包装,当我查询数据库我导入新的数据后, 。这就是我用'toISOString()'玩弄的原因。看看它是否会有所帮助。 –