Javascript Mongoose按日期无时间更新
我使用的是Mongoose4.7.x和MongoDB3.2。我想搜索所有没有时间的日期。例如,Javascript Mongoose按日期无时间更新,javascript,node.js,mongodb,date,mongoose,Javascript,Node.js,Mongodb,Date,Mongoose,我使用的是Mongoose4.7.x和MongoDB3.2。我想搜索所有没有时间的日期。例如,将所有obj更新为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 我试过
将所有obj更新为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更新所有字段,因为newdate()
将返回日期时间
如何在没有时间的情况下搜索具有特定日期的所有字段?如果有必要,我可以更改型号。您可以在一系列日期之间进行更改。对于较低的范围使用
$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之间的所有文档都将更新。您可以在一系列日期之间进行更新。对于较低的范围使用
$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之间的所有文档都将更新。Ohh我不知道
$gte
和$lt
。太酷了。非常感谢@Ron!您知道如何在数据库中找到双字段吗?我尝试了这个方法,但它不会返回任何结果:db.getCollection('Model').find({longitude:354.049987792969})
根据这一点,mongoose不支持开箱即用的双精度格式并将其转换为字符串,所以可以尝试这样过滤:db.getCollection('Model').find({longitude:'354.049987792969'))
Ohh我不知道$gte
和$lt
。太酷了。非常感谢@Ron!您知道如何在数据库中找到双字段吗?我尝试了这个方法,但它不会返回任何结果:db.getCollection('Model').find({longitude:354.049987792969})
根据这一点,mongoose不支持开箱即用的双精度格式并将其转换为字符串,所以可以尝试这样过滤:db.getCollection('Model').find({longitude:'354.049987792969')