2017-11-13 4 views
1

내가 매개 변수로 간격에 사용하는 정수를 취 노드 - 포스트 그레스 쿼리를 작성하려고 해요 : 내가 이것을 실행하면매개 변수화 된 쿼리

const query = { 
    text: 
     `SELECT 
     foo 
     FROM bar 
     WHERE 
      DATE(created_at) >= DATE(NOW()) - INTERVAL '$1 DAYS';`, 
    values: [daysAgo] 
    } 

, 그것은 제공을 이 작은 따옴표로 묶여 있기 때문에 그것은 $1을보고 아니에요 나타내는이 오류 메시지 : ""

바인드 메시지 공급 한 매개 변수하지만, 문을 준비 0

이 필요

지원되는 방법이 있습니까? 그렇지 않은 경우 가장 좋은 해결 방법은 무엇입니까?

답변

1

this reference'1 DAY' * X의 규칙을 사용할 수 있음을 보여줍니다.

나는이 따라서 작업을 얻을 수 있었다 : 당신이 캐치 전체 전화를 (볼 필요가있는 경우 등),

(async() => { 
     const { rows } = await pgpool.query(` 
      SELECT id, name FROM users 
      WHERE DATE(created) <= DATE(NOW()) - INTERVAL '1 DAY' * $1;`, 
      [req.params.daysAgo]); 
+0

@alexroussos를 알려 주시면 내 대답을 편집 할 수 있습니다. – rotarydial

+0

그게 완벽합니다. 감사 – alexroussos