創建從MongoDB db讀取的節點REST API(我在本例中使用Mongodb-native,而不是Mongoose)時,我遇到了一個問題。我試圖在我從本地文件讀取的給定時間戳後查詢所有結果。然後我得到最上面的事件的時間戳,並將其保存到文件中(目標是這個方法應該返回最後一個查詢中的最新事件,如果有意義的話)。MongoDB Native Node.js問題
這是到目前爲止我的代碼:
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( 「最新先前的日期是:」 +內容)返回這個格式的日期:2017-12-27T18:57:37.000Z。當我將該日期插入函數new Date(date) - > new Date(「2017-12-27T18:57:37.000Z」)時,我能夠在進行REST調用時成功獲取信息。然而,現在,當試圖使用Postman進行GET調用時,它只是緩衝區(有時它會在第一次嘗試時工作,但之後會緩衝)。
任何想法我在做什麼錯在這裏?我試圖用新的日期(...)很多與不同的字符串選項,刪除新的日期,添加toISOString()等,但沒有成功。
謝謝!