Per $addToSet
per non aggiungere un elemento, l'elemento deve completamente abbinare un elemento esistente. Con createdOn
essendo l'ora corrente è facile capire perché nel tuo caso ciò non accade mai.
Quindi $addToSet
funziona bene per elementi con Date
campi, ma richiede una corrispondenza esatta, proprio come con qualsiasi altro tipo.