問題タブ [sails-postgresql]

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.

0 投票する
0 に答える
49 参照

postgresql - Sails.js を使用した Postgres ltree のサポート

プロジェクトをビルドするために Sails.js を使用しようとしていますが、問題が発生しています。postgres タイプを使用できるように、waterline postgres アダプターに渡される「タイプ」にパッチを適用したいと考えています。

現在の postgres アダプターのフォークがあり、タイプのウォーターライン サポートを変更して ltree を含めると、アダプターが機能します。

これは postgres アダプターのフォークです https://github.com/opus-1/sails-postgresql

そして、ここに私がモンキーパッチを適用したいコードがあります:

https://github.com/balderdashy/waterline/blob/master/lib/waterline/utils/types.js

0 投票する
2 に答える
505 参照

node.js - SailsJs で PostgreSQL トランザクションを使用するにはどうすればよいですか?

私の問題は、クエリの複雑なチェーンがあり、このトランザクションの誰かが失敗するとロールバックすることです。Sails のトランザクションについて読んだことがありますが、デフォルトでは、各トランザクションが Postgres との新しい接続を作成するため、Sails はトランザクションをサポートしていないため、1 つのクエリで新しい接続が行われます。では、Sails でトランザクションを使用するにはどうすればよいでしょうか?

0 投票する
1 に答える
63 参照

node.js - DB からのナビゲーション バー データの入力

Sails アプリケーションがあり、DB からナビゲーション バーのドロップダウン メニュー データを入力したいと考えています。

ポリシーを使用してサービスを呼び出し、sails.config.views.locals.HeaderData 変数を設定しています

しかし、帆のいくつかの非同期機能のために、リクエストがポリシーに届いたときではなく、コントローラーが応答を送信したときにのみサービスが呼び出されます。これにより、ejs で空の配列が得られます

ポリシー

}

0 投票する
1 に答える
50 参照

javascript - 複数の PK を持つコレクションで 'via' 属性を使用する方法は?

複数の PK を持つコレクションで 'via' 属性を使用する方法は? 以下は hasMany データモデルの例です。

モデル定義。

2 つの「via」属性を持つコレクション定義。

0 投票する
0 に答える
2785 参照

node.js - Waterlinejsを使用してPostgreSQLにマイクロ秒のタイムスタンプを挿入する

次のように、タイムスタンプをマイクロ秒の精度で保存しようとしています。

PostgreSQL を単独でテストしましたが、正常に動作します。

select は正しい精度を返します。

次に、同じ SQL クエリを使用して、nodejs と pg コネクタでテストしました。

タイムスタンプを文字列として渡すことはできますが、Date オブジェクトを渡したい場合は、マイクロ秒の精度が失われます。Date オブジェクトの最大分解能はミリ秒であるため、これは JavaScript の制限です。これを回避するために、この関数を使用してタイムスタンプを bigint に変換しました。

bigint は postgres に対して透過的であり、選択クエリは正しいタイムスタンプを返します

Waterline では、postgres アダプターを使用してコレクションを作成し、タイムスタンプを日時として定義しました。

これにより、タイムスタンプが秒単位で保存されます。waterline github でミリ秒をサポートするパッチが提案されている可能性があります (これはテスト済みで、動作しています)。これまで説明してきたように、JavaScript でこれを処理する唯一の方法は、これを bigint に変換することです。現在のモデルにbigintを渡すと例外がスローされるため、このようにモデルを変更しようとしました

しかし、ウォーターライン フレームワークが無効な属性エラーをスローするようになりました。

私が見る文字列として:

さらに、私はそれをtimestamptzとして持っていることを本当に望んでいます.

出来ますか?

ありがとう

0 投票する
1 に答える
957 参照

orm - Sails ORM: findOrCreate ウォーターライン関数で見つかったか作成されたかを知る方法

findOrCreate ウォーターライン モデル関数を使用しています。ドキュメントhereによると、最初のパラメーターでレコードの存在を確認します。見つからない場合は、2 番目のパラメーターのレコードが作成されます。それが作成されたのか見つかったのかを知る方法はありますか?

私の使用例は、それが競合したか (レコードが既に存在する場合)、またはデータベースで作成されたかを判断することです。