gpt4 book ai didi

javascript - Mongoose 按日期更新没有时间

转载 作者:行者123 更新时间:2023-11-30 08:28:40 25 4
gpt4 key购买 nike

我使用的是 mongoose 4.7.x 和 mongodb 3.2。我想在没有时间的情况下搜索所有日期。例如 用这个日期 2016-12-14 更新所有对象

在我的数据库中,我有多个这样的日期时间:

2016-12-14 00:00:00.000Z
2016-12-14 00:00:00.000Z

2016-12-14 01:00:00.000Z
2016-12-14 01:00:00.000Z

2016-12-14 02:00:00.000Z
2016-12-14 02:00:00.000Z

我试过这个:

var query = {date: new Date('2016-12-14')};
var doc = {name: 'TEST'};
var options = {multi: true};

Model.update(query, doc, options, function(err, result){
console.log('All data updated')
});

但这只会更新时间为 00:00:00 的所有字段,因为 new Date() 将返回日期时间。

如何在没有时间的情况下搜索特定日期的所有字段?如果有必要,我可以更改模型。

最佳答案

您可以在一系列日期之间进行。将 $gte 用于较低的范围,将 $lt 用于较高的范围(即第二天),以防止它选择第二天的 00:00:00小时。

var query = {
date: {
$gte: new Date('2016-12-14'),
$lt: new Date('2016-12-15')
}
};
var doc = {name: 'TEST'};
var options = {multi: true};

Model.update(query, doc, options, function(err, result){
console.log('All data updated')
});

2016-12-14 00:00:00.000Z 到 2016-12-14 23:59:59.999Z 之间的所有文档都将被更新。

关于javascript - Mongoose 按日期更新没有时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41145014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com