MySQLx コレクションへの手動挿入
P粉917406009
P粉917406009 2024-02-21 19:01:38
0
1
375

MySQLx Collection テーブルに挿入する必要がある大量の JSON データがあります。 JSON データをロードしようとすると、現在の Node 実装がクラッシュし続けます。これは、コレクション API 経由で一度に大量のデータを挿入しているためだと思われます。従来の SQL ステートメントを使用してデータベースにデータを手動で挿入したいと考えています (この SQL ステートメントでこの NodeJs クラッシュを乗り越えられることを願っています)。

問題は、次のテーブル定義があることです:

リーリー

しかし、走っているとき ドキュメント値を挿入 ('{}'、DEFAULT、DEFAULT) わかりました:

リーリー

デフォルト値を提供せず、NULL を使用して (ただし、_id はデフォルトであっても NULL を許可しません)、_id に 0 を使用し、数値と uuid_to_bin(uuid()) を使用してみましたが、それでも同じ結果が得られます間違い。

このデータをテーブルに直接挿入する方法 (私は session.sql('INSERT...').bind(JSON.stringify(data)).execute() - @ を使用しています。 mysql /xdevapi ライブラリ)

P粉917406009
P粉917406009

全員に返信(1)
P粉191323236

_id 列は、JSON ドキュメント内の同じ名前のフィールドの値に基づいて自動的に生成されます。 X プラグインは、CRUD インターフェイスを使用してドキュメントを挿入するときに、このフィールドに一意の値を生成できます。ただし、単純な SQL ステートメントを実行すると、そのロジックもバイパスされます。したがって、_id を自分で生成した場合はドキュメントに挿入できますが、それ以外の場合はこのエラーが発生します。

例として (crypto .randomInt() を使用):

リーリー

CRUD API の問題に興味があり、それを再現できるかどうかも確認したいと思いました。この場合、これらのドキュメントをどのように挿入し、「クラッシュ」したときにどのようなフィードバック (ある場合) が提供されるのでしょうか?

免責事項: 私は、Node.js 用の MySQL X DevAPI コネクタの主任開発者です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート