Ich habe ein Problem beim Erstellen einer Node REST API, die aus einer MongoDB-Datenbank liest (Ich verwende Mongodb-native, nicht in diesem Fall Mongoose). Ich versuche nach einem bestimmten Zeitstempel, den ich aus einer lokalen Datei lese, nach allen Ergebnissen zu suchen. Ich erhalte dann den Zeitstempel des obersten Ereignisses und speichere es in der Datei (das Ziel ist, dass diese Methode die letzten Ereignisse von der letzten Abfrage zurückgibt, wenn das sinnvoll ist).MongoDB Native Node.js Problem
Dies ist mein Code so weit:
router.get("/latestevent", function(req, res, next) {
db.collection("events", function(err, collection){
var contents = new Date(fs2.readFileSync('latesttimeevent','utf8')).toISOString();
console.log("Newest previous date is: " + contents);
var date = String(contents);
collection.find({event: {$regex: '00FF0004'},eventtime: {'$gte':new Date(date)}}).sort({$natural:-1}).limit(10).toArray(function(err, data)
{
fs.writeFile("latesttimeevent",data[0].eventtime, function(err)
{
if(err)
{
return console.log(err);
}
console.log("Cell File was saved");
});
res.json(data);
})
});
});
console.log ("Newest vorherige Datum ist:" + Inhalt) gibt ein Datum in diesem Format: 2017-12-27T18: 57: 37.000Z. Wenn ich dieses Datum an die Funktion neues Datum (Datum) -> neues Datum ("2017-12-27T18: 57: 37.000Z") anschließe, kann ich die Information erfolgreich erhalten, wenn ich REST-Anrufe mache. Wie auch immer, beim Versuch, einen GET-Aufruf mit Postman zu machen, puffert es gerade (manchmal wird es beim ersten Versuch funktionieren, aber dann puffert es danach).
Irgendeine Idee, was ich hier falsch mache? Ich habe versucht, mit dem neuen Date (...) viel mit verschiedenen String-Optionen herumzuspielen, neues Date zu entfernen, zuISOString() usw. hinzuzufügen, aber keinen Erfolg.
Danke!