Arangodbは複数の行を挿入し、UPSERTを使用します

祖先アミン

UPSERTを使用してarangodbに複数の行を挿入するにはどうすればよいですか?コレクションには、重複するドキュメントの挿入を防ぐ一意のインデックスが含まれています。複数の挿入は一意のインデックスがなくても正常に機能しますが、一意のインデックスを持つ複数の挿入で更新/置換を処理するにはどうすればよいですか?

このような:

INSERT [{doc1},{doc2},{doc3}]
IN collection

UPDATE {} // when duplicate per document

アップデート1

SQLは次のようになります。

INSERT INTO table(name, value)
VALUES('a', '1'), ('b', 2), ('c', 3)

ON DUPLICATE KEY UPDATE name=`value`

ありがとう。

ピーターリアピン

ArangoDBはUPSERT操作をサポートしています:https://docs.arangodb.com/3.3/AQL/Operations/Upsert.html

ArangoDBのドキュメントから:

アップサート操作のUPDATEバリアントを使用すると、見つかったドキュメントが部分的に更新されます。つまり、updateExpressionで指定された属性のみが更新または追加されます。upsertのREPLACEバリアントを使用する場合、既存のドキュメントはupdateExpressionのコンテキストに置き換えられます。

UPSERTを使用して、次のように複数のレコードを更新/置換/挿入できます。

最初にcollectionname属性の一意のハッシュインデックスを使用して、いくつかのサンプルドキュメントを挿入してみましょう

FOR doc in [
    { "name": "Doc 1", "value": 1 }, 
    { "name": "Doc 2", "value": 1 }, 
    { "name": "Doc 3", "value": 1 }]

INSERT doc IN collection

これで、バッチアップサートを実行する場合は、次のAQLを実行できます。

FOR doc in [
    { "name": "Doc 2", "value": 2 }, 
    { "name": "Doc 3", "value": 2 },
    { "name": "Doc 4", "value": 1 }
]

UPSERT { "name": doc.name }

INSERT doc

UPDATE { "value": doc.value } in collection

上記のAQLクエリは、1つの新しいDoc 4ドキュメントを挿入し、Doc 2との値属性を更新しますDoc 3

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPPDOを使用して複数の行を挿入します

分類Dev

executeを使用して複数の行を挿入します

分類Dev

MySQLは、ON DUPLICATEKEYを使用して複数の行を挿入/更新します

分類Dev

JDBCは複数の行を挿入します

分類Dev

MSAccessは複数の行を挿入します

分類Dev

SQLiteAsyncConnectionは複数の行を順番に挿入しますか?

分類Dev

AccessはSSMSに複数の行を挿入します

分類Dev

knexは複数の行を挿入します

分類Dev

Postgresqlは複数の行で選択を挿入します

分類Dev

forループを使用して複数の行を挿入します

分類Dev

PHPは、foreachではなく配列を使用して複数の行を挿入/更新します

分類Dev

JdbcTemplateを使用して複数の行を挿入する

分類Dev

PQputCopyDataを使用して複数の行を挿入する方法

分類Dev

IDを使用して複数の行を挿入する場合、順序は保証されますか?

分類Dev

PDOは単一のクエリに複数の行を挿入します

分類Dev

PostgreSQLはcsvから複数行を挿入します

分類Dev

条件付きの複数の行を挿入します

分類Dev

SQL:一度に複数の行を挿入します

分類Dev

DynamoDBにjsonの複数行を挿入します

分類Dev

列名が異なる複数の行を挿入します

分類Dev

PHP分割バッチで複数の行を挿入します

分類Dev

クエリの複数行から値を挿入します

分類Dev

mysql行に複数のIDを挿入します

分類Dev

SQL ServerCE複数の行を挿入します

分類Dev

条件に基づいて複数の行を挿入します

分類Dev

1つの変数入力PL / SQLを使用してdbの複数行に挿入しますか?

分類Dev

行をループし、MySQLに複数の行を挿入します

分類Dev

複数の<select>オプションを複数の行に挿入します

分類Dev

新しい行を作成し、複数計算の最大値を挿入します

Related 関連記事

  1. 1

    PHPPDOを使用して複数の行を挿入します

  2. 2

    executeを使用して複数の行を挿入します

  3. 3

    MySQLは、ON DUPLICATEKEYを使用して複数の行を挿入/更新します

  4. 4

    JDBCは複数の行を挿入します

  5. 5

    MSAccessは複数の行を挿入します

  6. 6

    SQLiteAsyncConnectionは複数の行を順番に挿入しますか?

  7. 7

    AccessはSSMSに複数の行を挿入します

  8. 8

    knexは複数の行を挿入します

  9. 9

    Postgresqlは複数の行で選択を挿入します

  10. 10

    forループを使用して複数の行を挿入します

  11. 11

    PHPは、foreachではなく配列を使用して複数の行を挿入/更新します

  12. 12

    JdbcTemplateを使用して複数の行を挿入する

  13. 13

    PQputCopyDataを使用して複数の行を挿入する方法

  14. 14

    IDを使用して複数の行を挿入する場合、順序は保証されますか?

  15. 15

    PDOは単一のクエリに複数の行を挿入します

  16. 16

    PostgreSQLはcsvから複数行を挿入します

  17. 17

    条件付きの複数の行を挿入します

  18. 18

    SQL:一度に複数の行を挿入します

  19. 19

    DynamoDBにjsonの複数行を挿入します

  20. 20

    列名が異なる複数の行を挿入します

  21. 21

    PHP分割バッチで複数の行を挿入します

  22. 22

    クエリの複数行から値を挿入します

  23. 23

    mysql行に複数のIDを挿入します

  24. 24

    SQL ServerCE複数の行を挿入します

  25. 25

    条件に基づいて複数の行を挿入します

  26. 26

    1つの変数入力PL / SQLを使用してdbの複数行に挿入しますか?

  27. 27

    行をループし、MySQLに複数の行を挿入します

  28. 28

    複数の<select>オプションを複数の行に挿入します

  29. 29

    新しい行を作成し、複数計算の最大値を挿入します

ホットタグ

アーカイブ