ホームページ  >  に質問  >  本文

MySQLx コレクションへの手動挿入

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粉917406009P粉917406009241日前330

全員に返信(1)返信します

  • P粉191323236

    P粉1913232362024-02-22 09:33:46

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

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

    リーリー

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

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

    返事
    0
  • キャンセル返事