def save_last_sync(self, ids, process):
        try:
            spec = {'_id': 'last_sync'}
            document = {'$set': {process: ids}}
            self.db.internal.update(spec, document, upsert=True)
        except Exception as e:
            raise DatabaseException(e)
def combinationSum(self, candidates, target):
        self.result = []
        self.dfs(candidates,0,target,[])
        return self.result