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, {...});