2
私は、nodeJSとpostgresを扱うのにpg-promiseを使用していますが、私のUser
テーブルを照会しようとすると、スーパーユーザーを取得します。私はスキーマがまだ設定されていないという事実に関連していると思うので、コードはデフォルトで1を検索します。どのようにしてコードにスキーマを設定できますか?pg-promise set schema NodeJs
私はこれを試してみました:
var express = require('express');
var app = express();
const PORT = 8080;
var pgp = require('pg-promise')(/*options*/)
var db = pgp('postgres://postgres:[email protected]:5432/appname')
app.listen(PORT,function() {
console.log("listening to port: " + PORT);
})
db.any('SELECT * FROM User')
.then(function(data) {
console.log(data);
})
.catch(function(error) {
console.log(error);
});
デフォルトのスキーマは 'public'であり、設定する必要はありません。したがって、あなたは何の問題があるのか分かりません。しかし、あなたのテーブルが大文字になっている場合は、代わりに '' User ''を使用してください。あなたの質問を修正してみてください。また、パラメータを必要としないクエリに '[true]'を渡すポイントはありません。 –
@ vitaly-t私は同じ問題に直面しています:私はデータベースに正しく接続しています。ユーザー以外のテーブルを照会でき、予想通りの回答が得られます。しかし、私はユーザーテーブルを照会するとき、私はデータベースにログインするために使用するユーザーを取得します。何かアドバイス? (大文字の提案は機能しません) – Cristina
@Antonio Costa有益な同僚がヒントをくれました。まだ必要な場合に備えて、ここに投稿してください:ユーザを引用符で囲みます(SELECT * FROM "user")。 – Cristina