いくつかの関数を使用して2つのrethinkdbドキュメントをマージする方法

ロバート・ザレンバ

マージ関数を次のJSコードからRQLで変換したいと思います。

var d1 = {
  del: {
    1: {n: 1, v: 100, vFx:[100, 110]},
    2: {n: 1, v: 100, vFx:[100, 110]}
}};
var d2 = {
  del: {
    2: {n: 1, v: 100, vFx:[100, 110]},
    3: {n: 1, v: 100, vFx:[100, 110]}
}};

function merge(d1, d2) {
    for(k in d2.del){
        v = d2.del[k];
        d1v = d1.del[k];
        if(!d1v){
            d1.del[k] = v;
        } else{
        d1v.n += v.n;
        d1v.v += v.v;
        for(var i = 0,  _len = v.vFx.length; i < _len; i++)
            d1v.vFx[i] += v.vFx[i];
        }
    }
};

// test
merge(d1, d2);
console.log(d1);

// GOAL
r.do(d1, d2, merge)  // this of course doesn't work

私の主な問題は、ドキュメントのキーをどのように反復するかです。r.forEach内部に保存する必要があります。私のユースケースは、このmerge関数を更新で使用したいというものです

rqlexpr.update(merge(d1, r.row))
mlucy

を使用してドキュメントのキーにマップし、を使用しkeysてオブジェクトを作成できますobject例えば:

d1.merge(
  r.object(
    d2('del').keys().concatMap(function(key) {
      return r.branch(
        d1('del').hasField(key).not(),
        [key, d2('del').getField(key)],
        [key, d1('del').getField(key) + d2('del').getField(key)]
      )
    })
  )
)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

MongoDBのJavaドライバーを使用して、いくつのドキュメントを1つにマージしますか?

分類Dev

いくつかのテキストをフィルタリングして数行をマージする方法

分類Dev

2つのxmlドキュメントを(上書きして)マージする方法は?

分類Dev

spacyドキュメント類似性関数を使用して、データセット内の1つのドキュメントを他のすべてのドキュメントと比較するにはどうすればよいですか?

分類Dev

2つのHTMLドキュメントとそのスタイルを正しくマージするにはどうすればよいですか?

分類Dev

jQueryのCSS関数を使用して、いくつかのdivの「左」マージンを設定する

分類Dev

Pythonlxmlを使用してXMLドキュメントからいくつかの要素を取得する

分類Dev

キューを使用していくつかのカウントダウンタイマーを維持する

分類Dev

cakephpを使用して1つのドキュメントに複数のExcelシートを生成する方法

分類Dev

IDに基づいて2つの別々のXLSドキュメントをマージする

分類Dev

2つの値に基づいてマップからドキュメントをフィルタリングし、別のマップを作成する方法

分類Dev

CouchDBからいくつかの基準によってドキュメントIDのグループを抽出するときにMapReduceを使用する方法

分類Dev

Doxygen:コードではなくドキュメントブロックのみを使用して非C関数をドキュメント化する方法は?

分類Dev

コードがSOAPドキュメントから取得しているPHPでいくつかの数値を削除できますか?

分類Dev

ヒアドキュメントを介して別のユーザーとしてsshおよびいくつかのコマンドを実行します

分類Dev

MongoDB 2つのドキュメントを正しく$ lookupする方法は?

分類Dev

正しいページ番号で複数のワークシートを1つのドキュメントに印刷する方法はありますか?

分類Dev

Javaで関数型プログラミングを使用してこの2つのメソッドをマージする方法

分類Dev

ターミナルからLibreOfficeで複数のドキュメントをマージして1つのPDFに変換する

分類Dev

Flutterを使用してFirestoreで特定の値を持つ複数のドキュメントを削除する方法

分類Dev

関数を使用していくつかのコマンドをループします

分類Dev

checkstyleを使用していくつかのメソッドに静的インポートを強制する方法は?

分類Dev

aptを使用してキャッシュからいくつかの.debパッケージをインストールする方法は?

分類Dev

複数のMongoDBドキュメントを1つにマージする方法は?

分類Dev

グーグルスクリプトを介して3つのグーグルドキュメントドキュメントの本文をマージする

分類Dev

重複する値のないいくつかのキーを持つドキュメントを見つける方法は?

分類Dev

オブジェクトキーを使用して2つのマップ間の関係を作成する方法

分類Dev

LAST条件を正しく使用してドキュメントの最後の単語をマークする方法

分類Dev

JSのループを介して複数のキーと値を持つFirebaseの新しいドキュメントを追加する方法

Related 関連記事

  1. 1

    MongoDBのJavaドライバーを使用して、いくつのドキュメントを1つにマージしますか?

  2. 2

    いくつかのテキストをフィルタリングして数行をマージする方法

  3. 3

    2つのxmlドキュメントを(上書きして)マージする方法は?

  4. 4

    spacyドキュメント類似性関数を使用して、データセット内の1つのドキュメントを他のすべてのドキュメントと比較するにはどうすればよいですか?

  5. 5

    2つのHTMLドキュメントとそのスタイルを正しくマージするにはどうすればよいですか?

  6. 6

    jQueryのCSS関数を使用して、いくつかのdivの「左」マージンを設定する

  7. 7

    Pythonlxmlを使用してXMLドキュメントからいくつかの要素を取得する

  8. 8

    キューを使用していくつかのカウントダウンタイマーを維持する

  9. 9

    cakephpを使用して1つのドキュメントに複数のExcelシートを生成する方法

  10. 10

    IDに基づいて2つの別々のXLSドキュメントをマージする

  11. 11

    2つの値に基づいてマップからドキュメントをフィルタリングし、別のマップを作成する方法

  12. 12

    CouchDBからいくつかの基準によってドキュメントIDのグループを抽出するときにMapReduceを使用する方法

  13. 13

    Doxygen:コードではなくドキュメントブロックのみを使用して非C関数をドキュメント化する方法は?

  14. 14

    コードがSOAPドキュメントから取得しているPHPでいくつかの数値を削除できますか?

  15. 15

    ヒアドキュメントを介して別のユーザーとしてsshおよびいくつかのコマンドを実行します

  16. 16

    MongoDB 2つのドキュメントを正しく$ lookupする方法は?

  17. 17

    正しいページ番号で複数のワークシートを1つのドキュメントに印刷する方法はありますか?

  18. 18

    Javaで関数型プログラミングを使用してこの2つのメソッドをマージする方法

  19. 19

    ターミナルからLibreOfficeで複数のドキュメントをマージして1つのPDFに変換する

  20. 20

    Flutterを使用してFirestoreで特定の値を持つ複数のドキュメントを削除する方法

  21. 21

    関数を使用していくつかのコマンドをループします

  22. 22

    checkstyleを使用していくつかのメソッドに静的インポートを強制する方法は?

  23. 23

    aptを使用してキャッシュからいくつかの.debパッケージをインストールする方法は?

  24. 24

    複数のMongoDBドキュメントを1つにマージする方法は?

  25. 25

    グーグルスクリプトを介して3つのグーグルドキュメントドキュメントの本文をマージする

  26. 26

    重複する値のないいくつかのキーを持つドキュメントを見つける方法は?

  27. 27

    オブジェクトキーを使用して2つのマップ間の関係を作成する方法

  28. 28

    LAST条件を正しく使用してドキュメントの最後の単語をマークする方法

  29. 29

    JSのループを介して複数のキーと値を持つFirebaseの新しいドキュメントを追加する方法

ホットタグ

アーカイブ