問題タブ [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.
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
node.js - SailsJs で PostgreSQL トランザクションを使用するにはどうすればよいですか?
私の問題は、クエリの複雑なチェーンがあり、このトランザクションの誰かが失敗するとロールバックすることです。Sails のトランザクションについて読んだことがありますが、デフォルトでは、各トランザクションが Postgres との新しい接続を作成するため、Sails はトランザクションをサポートしていないため、1 つのクエリで新しい接続が行われます。では、Sails でトランザクションを使用するにはどうすればよいでしょうか?
node.js - DB からのナビゲーション バー データの入力
Sails アプリケーションがあり、DB からナビゲーション バーのドロップダウン メニュー データを入力したいと考えています。
ポリシーを使用してサービスを呼び出し、sails.config.views.locals.HeaderData 変数を設定しています
しかし、帆のいくつかの非同期機能のために、リクエストがポリシーに届いたときではなく、コントローラーが応答を送信したときにのみサービスが呼び出されます。これにより、ejs で空の配列が得られます
ポリシー
}
javascript - 複数の PK を持つコレクションで 'via' 属性を使用する方法は?
複数の PK を持つコレクションで 'via' 属性を使用する方法は? 以下は hasMany データモデルの例です。
モデル定義。
2 つの「via」属性を持つコレクション定義。
node.js - Waterlinejsを使用してPostgreSQLにマイクロ秒のタイムスタンプを挿入する
次のように、タイムスタンプをマイクロ秒の精度で保存しようとしています。
PostgreSQL を単独でテストしましたが、正常に動作します。
select は正しい精度を返します。
次に、同じ SQL クエリを使用して、nodejs と pg コネクタでテストしました。
タイムスタンプを文字列として渡すことはできますが、Date オブジェクトを渡したい場合は、マイクロ秒の精度が失われます。Date オブジェクトの最大分解能はミリ秒であるため、これは JavaScript の制限です。これを回避するために、この関数を使用してタイムスタンプを bigint に変換しました。
bigint は postgres に対して透過的であり、選択クエリは正しいタイムスタンプを返します
Waterline では、postgres アダプターを使用してコレクションを作成し、タイムスタンプを日時として定義しました。
これにより、タイムスタンプが秒単位で保存されます。waterline github でミリ秒をサポートするパッチが提案されている可能性があります (これはテスト済みで、動作しています)。これまで説明してきたように、JavaScript でこれを処理する唯一の方法は、これを bigint に変換することです。現在のモデルにbigintを渡すと例外がスローされるため、このようにモデルを変更しようとしました
と
しかし、ウォーターライン フレームワークが無効な属性エラーをスローするようになりました。
私が見る文字列として:
さらに、私はそれをtimestamptzとして持っていることを本当に望んでいます.
出来ますか?
ありがとう
orm - Sails ORM: findOrCreate ウォーターライン関数で見つかったか作成されたかを知る方法
findOrCreate ウォーターライン モデル関数を使用しています。ドキュメントhereによると、最初のパラメーターでレコードの存在を確認します。見つからない場合は、2 番目のパラメーターのレコードが作成されます。それが作成されたのか見つかったのかを知る方法はありますか?
私の使用例は、それが競合したか (レコードが既に存在する場合)、またはデータベースで作成されたかを判断することです。