Đối với $addToSet để không thêm phần tử, phần tử phải hoàn toàn khớp với một phần tử hiện có. Với createdOn là thời điểm hiện tại, thật dễ hiểu tại sao điều đó không bao giờ xảy ra trong trường hợp của bạn.
Vì vậy, $addToSet hoạt động tốt cho các phần tử có Date nhưng nó yêu cầu phải khớp chính xác, giống như với bất kỳ loại nào khác.