Voor $addToSet om geen element toe te voegen, moet het element volledig overeenkomen met een bestaand element. Met createdOn omdat het de huidige tijd is, is het gemakkelijk in te zien waarom dat in jouw geval nooit gebeurt.
Dus $addToSet werkt prima voor elementen met Date velden, maar het vereist een exacte overeenkomst, net als bij elk ander type.