sql >> データベース >  >> NoSQL >> MongoDB

複数回サブスクライブすると重複データを取得しました

    問題は、addedの呼び出しで毎回ランダムなIDを使用していることです。 そのため、クライアントは常にすべてのドキュメントが一意であると考えています。 一貫性のあるを考案する必要があります id文字列ジェネレータ。 この質問> 、次のような一連の関数を作成することを想像できます。

    hashCode = function (s) {
      return s.split('').reduce(function (a, b) {
        a = ((a << 5) - a) + b.charCodeAt(0);return a & a;
      }, 0);
    };
    
    objectToHash = function (obj) {
      return String(hashCode(JSON.stringify(obj)));
    };
    

    したがって、codeの組み合わせごとに一意のドキュメントが必要な場合 およびhour あなたはこれを行うことができます:

    var id = objectToHash(r._id);
    this.added('totalNumber', id, {...});
    



    1. mongodbのブールフラグにスパースインデックスを使用する必要がありますか?

    2. マングースfind()、結果ドキュメントにアクセスする方法は?

    3. node.jsのmongodb-nativeからdb.repairDatabase()を実行する

    4. Redis-ソートされたセット、プロパティ値でアイテムを検索