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

War es hilfreich?

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
scroll top