J'ai une requête où j'ai besoin d'obtenir des événements un jour avant ou après une date spécifique. J'ai besoin d'ajouter ou de soustraire un jour à cette variable ISODate. Voici ma requête:
db.event.find().forEach( function (x) {
print("x : " + x.EventID + ", " + x.ISODate);
db.events.find( {
"$or" : [{
"StartDate" : { "$gte" : x.ISODate } // Here i need to subtract one day
}, {
"EndDate": { "$lt" : x.ISODate} // Here i need to add one day
}]
}).forEach(function(otherDay) {
print("x.EventID : " + x.EventID + ", other.Date : " + otherDay.StartDate + " - " + otherDay.EndDate);
});
});
Comment puis-je ajouter ou soustraire des jours à une variable ISODate dans le shell mongodb?
Pas une réponse exacte mais liée.
J'avais besoin d'incrémenter un champ de date pour tous les éléments de ma collection MongoDB en place.
La requête ci-dessous ajoutera 1 jour à myDateField dans myCollection .
db.myCollection.find().snapshot().forEach(
function (elem) {
db.myCollection.update(
{
_id: elem._id
},
{
$set: {
myDateField: new Date(elem.myDateField.getTime() + 1*24*60*60000)
}
}
);
}
);
1 day = 1*24*60*60000 = 1 x 24 hours x 60 minutes x 60 seconds x 1000 milliseconds