問題タブ [pg-promise]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - これら 3 つの JavaScript 関数の引数はどのように使用されますか?
JavaScript の関数と引数を調べましたが、以下のような関数を理解するのに役立つものは見つかりませんでした。元のチュートリアルを参照できます。
createPuppy には、req、res、next の 3 つの引数があります。
その関数はルーターによって呼び出されています:
db.createPuppy が呼び出されたとき、渡された引数はありませんでした。
これら 3 つの引数は、この関数にどのように適合しますか?
更新: Node、JavaScript、pg-promise、express は初めてです。なので、掘る場所を絞り込むのはちょっと大変でした。私はここに来て、自分の焦点をどこに絞るべきかについて手がかりを得ました。ありがとう!
arrays - 、桁jsonb 型ですが、式は text[] 型です
以下のような配列を持ち、JSONB 列に保存する必要があります。
DB に挿入する req.body オブジェクトを (Express から) 渡すだけです。
**pg-promise ライブラリ経由の PG DB はエラーをスローします:
私はそのドライバーの問題cos配列だと思います:formatting.jsの関数(arr)[pg-promise lib]は文字列を返し、postgresはそれを消化できません。配列が任意のオブジェクトにネストされている場合、スムーズに動作します。
ここで、MyPref は列 "FoodPref" を問題なく通過します。
javascript - Node JS を使用した動的 PostgreSQL ファイル
NodeJS アプリケーションで新しいクライアントを作成するための巨大な PostgreSQL ファイル (300 行) があります。(私は pg-promise を使用します。) ファイルを読み取り、次の単純なコードで結果を返します。
私はよく働きます。
ファイルを処理する前に、ファイル内で宣言された変数を手動で変更する必要があります。
たとえば、私の SQL ファイルは、20 ~ 30 個の変数を宣言することから始まります。
creation_client.sql :
私の質問: JavaScript から SQL ファイルに動的変数を挿入する方法はありますか?
node.js - pg-promise で列の更新をスキップする
Postgres 用の pg-promise を使用してノードに API を作成しました。これはうまく機能しますが、PUT ステートメントを変更して入力の NULLS をより適切に処理する方法を考えています。
以下は、PUT ステートメントのコードです。
これでこのステートメントは機能しますが、次の更新に NULLS を渡すと、既存の値も削除されます。たとえば、string1 と date2 だけを更新したい場合は、json オブジェクト全体を送信する必要があります。そうしないと、他のすべての値が NULL に設定されます。
これを処理するより良い方法はありますか?代わりに PATCH 動詞を使用する必要がありますか??
javascript - pg-promisesで子の約束から親の約束にエラーを投げる方法
「A」と「B」の2つのテーブルがあります。テーブル「A」の主キーを含むテーブル「B」に行を作成したいのですが、この操作全体はアトミックでなければなりません。
ここで、ネストされたプロミスでエラーが発生するたびに、親のプロミスを拒否し、そのエラーを親のプロミスに渡します。
node.js - Node.js での DB クエリ プロファイリング
を使用してjson APIを構築していますexpress
(まあ、おそらくに移動しkoa
ます)。データをPostgreSQLデータベースに保存pg-promise
し、そこからデータを取得するために使用します(async/await
babel経由)。
私はnode.jsにまったく慣れていないので、その環境でのパフォーマンス測定に関する情報が見つかりません。
具体的には:
(可能であればプログラムで)どれくらいの時間がかかるか知りたいですSELECT
。(2つのタイムスタンプを取得することで達成できる構築から解決までの時間の約束ではなく、DBサーバーがクエリを処理するために消費した実際の時間)。
これは達成できますか?もしそうなら、どのように?
node.js - pg-promiseによる追加データによる複数挿入
postgres db に挿入したい大規模なデータセットがあります。このように pg-promise を使用してこれを実現できます
データセットは、次のようなオブジェクトの配列です。
added_at
課題は、データセットに含まれていない列を持っていることnull
です。クエリにレコードを挿入するたびにタイムスタンプを追加するにはどうすればよいですか。
postgresql - travis-ci postgres `SELECT EXISTS` クエリが異なる結果を返す
pg-promise
テーブルの削除とテーブルの再作成を伴ういくつかのテストに取り組んでいます。
ローカル マシンですべてのテストに合格します。しかし ではtravis-ci
、すべてのDROP TABLE ...
SQL をスキップしているようで、結果としてテストが失敗します。
誰でも理由がわかりますか?許可の問題ですか?
travis-ci
postgres サーバーに接続するなど、これをさらにデバッグする方法はありますか?
更新:すべてのテストがローカル環境でパスするため、コードを配置しなかったため、それは単なる問題だと思いましたtravis-ci
。traivs-ci
以下は、スキップしていると思われるビットです。
Update2:さらにいくつかのテストを行った結果、テストが失敗したのはそれが原因であることが判明しました。
db.one('SELECT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name=$1)', [tableName])
期待値を返していませんでした。クエリは{ '?column?': false }
travis で返されますが{ exists: false }
、ローカル環境で返されます。
これはtravis-ci
問題ですか?またはpostgresのバージョンの問題?