Vấn đề là bạn đang sử dụng một id ngẫu nhiên mỗi lần gọi đến added
vì vậy khách hàng luôn nghĩ rằng tất cả các tài liệu là duy nhất. Bạn cần tạo ra một nhất quán trình tạo chuỗi id. Sử dụng câu trả lời cho câu hỏi này , bạn có thể tưởng tượng việc xây dựng một tập hợp các chức năng như sau:
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)));
};
Vì vậy, nếu bạn muốn có một tài liệu duy nhất cho mỗi tổ hợp mã code
và hour
bạn có thể làm điều này:
var id = objectToHash(r._id);
this.added('totalNumber', id, {...});