MongoDB日期对象中的更新小时(非日期)

MongoDB日期对象中的更新小时(非日期),mongodb,Mongodb,是否可以在不重新计算整个日期的情况下更新mongo文档上日期条目的小时数 这是我的模式: book = { name: String, release: Date } 以下是一些文件: {name:"book1", release: ISODate("2016-05-18T16:00:00Z")} {name:"book1", release: ISODate("2016-05-17T17:00:00Z")} {name:"book1", release: ISODate("2

是否可以在不重新计算整个日期的情况下更新mongo文档上日期条目的小时数

这是我的模式:

book = {
    name: String,
    release: Date
}
以下是一些文件:

{name:"book1", release: ISODate("2016-05-18T16:00:00Z")}
{name:"book1", release: ISODate("2016-05-17T17:00:00Z")}
{name:"book1", release: ISODate("2016-03-12T01:00:00Z")}
等等

如你所见,这些书的时间是16:00、17:00和01:00

我想将所有时间设置为00:00,同时保持实际日期、月份和年份不变


可能吗

这里有一个mongo shell脚本,它将把小时设置为本地时间00,请记住它将以UTC时间存储,UTC时间可能与您的本地时间不同

var collection = db.YOUR_COLLECTION;
var allBooks = collection.find().toArray();

allBooks.forEach(function(book){
  var updatedDate = new Date(book.release.setHours(0))
  collection.update({_id: book._id}, {release: updatedDate})
});
n、 b.我在3T工作室(以前是Mongo厨师)做了这个

进一步阅读:


我的回答解决了你的问题吗?