0

MongoDB db (이 경우 Mongoose가 아닌 Mongodb-native를 사용하고 있음)에서 읽는 Node REST API를 만들 때 문제가 발생했습니다. 내가 로컬 파일에서 읽는 주어진 타임 스탬프 후에 모든 결과를 쿼리하려고합니다. 그런 다음 가장 빠른 이벤트의 타임 스탬프를 가져 와서 파일에 저장합니다 (목표는이 메서드가 마지막 쿼리의 최신 이벤트를 반환해야 함을 의미합니다).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. 새 날짜 (date) -> 새 날짜 ("2017-12-27T18 : 57 : 37.000Z") 함수에 해당 날짜를 연결하면 REST 호출을 할 때 정보를 성공적으로 가져올 수 있습니다. 그러나 Postman을 사용하여 GET 호출을 만들려고 할 때 바로 버퍼링합니다 (때로는 첫 번째 시도에서는 작동하지만 이후에는 버퍼 처리됩니다).

내가 여기서 잘못하고있는 것에 대한 아이디어가 있습니까? 나는 새로운 Date (...)를 여러 문자열 옵션으로 많이 사용하고, 새로운 Date를 제거하고, toISOString() 등을 추가했지만 아무런 성공도하지 못했습니다.

감사합니다.

답변

0

나는 서버가 아니라 클라이언트 측에 있다고 생각합니다. 나는 우편 배달에 익숙하지 해요,하지만 내 요점은, 전 당신이없는 캐시 (클라이언트에 대한 요청 헤더를 가져 오기) 캐시 제어를 설정해야한다는 것입니다 :

Cache-Control: no-cache, no-store, must-revalidate 
또한

당신은 최대 사용 기간 캐시를 설정하려고 할 수 있습니다 뿐만 아니라 헤더 PARAM,

max-age=0 

(세부 정보 : https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control)