MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Otrzymałem zduplikowane dane przy wielokrotnej subskrypcji

Problem polega na tym, że za każdym razem używasz losowego identyfikatora w wywołaniu added więc klient zawsze uważa, że ​​wszystkie dokumenty są unikalne. Musisz opracować spójny generator ciągów identyfikatorów. Korzystanie z odpowiedzi na to pytanie , możesz sobie wyobrazić tworzenie zestawu funkcji takich jak te:

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)));
};

Więc jeśli chcesz mieć unikalny dokument dla każdej kombinacji code i hour możesz to zrobić:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dekodowanie JSON przy użyciu PHP z Mongo

  2. Zaktualizuj zagnieżdżony obiekt w MongoDB, jeśli istnieje, w przeciwnym razie dodaj go

  3. Błąd podczas instalacji mongodb na Ubuntu 16.04

  4. Przechowywanie relacji przyjaciół w MongoDB?

  5. MongoDB PHP Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException:Nie znaleziono odpowiednich serwerów