'Update or create time_to_live indexes.
:param ttl: time to live in seconds.
:param ttl_index_name: name of the index we want to update or create.
:param index_field: field with the index that we need to update.
:param coll: collection which indexes need to be updated.'

@staticmethod
def update_ttl(ttl, ttl_index_name, index_field, coll):

    indexes = coll.index_information()
    if (ttl <= 0):
        if (ttl_index_name in indexes):
            coll.drop_index(ttl_index_name)
        return
    if (ttl_index_name in indexes):
        return coll.database.command('collMod', coll.name, index={'keyPattern': {index_field: pymongo.ASCENDING}, 'expireAfterSeconds': ttl})
    coll.create_index([(index_field, pymongo.ASCENDING)], expireAfterSeconds=ttl, name=ttl_index_name)
