Isodat ist nicht definiert
Frage
Ich versuche, Ergebnisse von MongoDB mit NodeJS/Mongoose zu erzielen.
var dateStr = new Date(year,month,day,0,0,0);
var nextDate = new Date(year,month,day,23,59,59);
GPSData.find({"createdAt" : { $gte : new ISODate(dateStr), $lte: new ISODate(nextDate) }}, function(err, data) {
if(err)
console.log(err);
});
Fehler: ISODate is not defined
Lösung
Beachten Sie, dass ISODate
ist Teil von MongoDB und in Ihrem Fall nicht verfügbar. Sie sollten verwenden Date
Stattdessen kümmert sich die MongoDB -Treiber (z. Date
und ISODate
hinter den Kulissen.
Andere Tipps
Sie können einfach wie folgt verwenden, um Daten in der ISO -Zeichenfolge umzuwandeln:
GPSData.find({"createdAt" : { $gte : new Date(year,month,day,0,0,0).toISOString(), $lte: new Date(year,month,day,23,59,59).toISOString() }}, function(err, data) {
if(err)
console.log(err);
});
In meinem Fall wandelte ich eine Abfrage mit Isodaten um
let dateString = "2014-01-22T14:56:59.301Z";
$gte : ISODate(dateStr)
in node.js ist
$gte : new Date(dateStr)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow