2014-12-19 3 views
0

의 쿼리에서 정의되지 나는 코드에 따라 Node.js를에 Knex.js을 사용하려고러너가 Knex.js

/path/to/myapp/node_modules/knex/lib/interface.js:27 
    return new Runner(this).run().then(onFulfilled, onRejected); 
     ^
TypeError: undefined is not a function 
    at QueryBuilder_PG.Target.then (/path/to/myapp/node_modules/knex/lib/interface.js:27:12) 
    at Object.<anonymous> (/path/to/myapp/test.js:14:32) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:906:3 

stream, pipe, exectransaction을 사용해도 동일한 오류가 발생했습니다.
이 문제를 해결하는 방법을 알려주십시오 ...

답변

1

저는 클라이언트 구성에 대해 정말로 부주의했습니다. "연결"에 대한 설명에 착각했습니다. 다음과 같이 작성해야합니다.

var Promise = require("bluebird"); 
var knex = require("knex")({ 
    client: 'pg', 
    connection: { 
     host  : '127.0.0.1', 
     user: 'username', 
     database: 'database', 
     password: 'password' 
    }, 
    migrations:{ 
     tableName:"knex_migrations" 
    }, 
    pool: { 
     min: 0, 
     max: 7 
    } 
}); 

knex.select("*").from("users").then(function(rows){ 
    console.log(rows); 
}); 

문제없이 작동합니다.
감사합니다.

관련 문제