Added upsert method to learning opportunity DAO