Pro $addToSet aby nebyl prvek přidán, musí prvek úplně odpovídat existujícímu prvku. Pomocí createdOn je-li aktuální čas, je snadné pochopit, proč se to ve vašem případě nikdy nestane.
Takže $addToSet funguje dobře pro prvky s Date polí, ale vyžaduje přesnou shodu, stejně jako u jakéhokoli jiného typu.