Problém je v tom, že při každém volání added
používáte náhodné ID takže klient si vždy myslí, že všechny dokumenty jsou jedinečné. Musíte navrhnout konzistentní generátor id řetězců. Pomocí odpovědi na tuto otázku , můžete si představit vytvoření sady funkcí, jako jsou tyto:
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)));
};
Pokud jste tedy chtěli jedinečný dokument pro každou kombinaci code
a hour
můžete udělat toto:
var id = objectToHash(r._id);
this.added('totalNumber', id, {...});