MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Duplizierte Daten beim mehrmaligen Abonnieren

Das Problem ist, dass Sie jedes Mal im Aufruf von added eine zufällige ID verwenden Der Kunde denkt also immer, dass alle Dokumente einzigartig sind. Sie müssen eine konsistente Form entwickeln ID-String-Generator. Verwenden einer Antwort auf diese Frage , könnten Sie sich vorstellen, eine Reihe von Funktionen wie diese zu erstellen:

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

Wenn Sie also für jede Kombination von code ein eindeutiges Dokument wünschen und hour Sie könnten dies tun:

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