2017-07-11 12 views
0

MarkLogicマップを反転している間に、値&がスワップされますが、値は重複しません。どうすればそれを避けることができますか?Marklogicマップを反転する際の問題

+0

両方のマップに含まれるシーケンスのユニークなセットを取得しようとしていますか?新しいマップには両方のマップでエントリ値が同じ場合のエントリが含まれていますか?その場合は、キーが重要か、結果に使用するマップのキーを に設定しますか?入力と希望する出力の簡単な例では、達成しようとしていることを理解しやすくなります。 –

答えて

2

私は恐れることはできません。 MarkLogic map:mapはハッシュテーブルなので、キーは一意です。それは重複する値のキーマージします反転すると:あなたが達成したい内容に応じて

-map:new((
    map:entry("a", (1, 2)), 
    map:entry("b", (2, 3)) 
)) 

を、あなただけのmap:mapを反復処理したい場合があります。

HTH!

+0

私が達成したいのは、2つのマップがあり、両方のマップに存在する値に基づいて交差点や差異などのSET演算子を実行したいと考えています。セット演算子はキーのみで動作するので、交差を行う前に両方のマップを反転していますが、この方法で重複除外のためにデータが失われています。どんな助けでも大歓迎です。 – Hardik

+1

たぶんあなたは '$ map1 * $ map2'を探していますか?参照:http://developer.marklogic.com/blog/im-a-map – grtjn

+0

はい私は値に基づいて交差を実行する必要があるので - >( - $ map1)*( - $ map2)しかし、値を鍵に逆変換するとすぐにデータが変更されます。これは、これらの値(すなわち、鍵の反転後の値)が、避けたいと思われる重複していないためです。 – Hardik

関連する問題