You could extend your Angular resource by providing a custom action, for example:
var Todo = $resource('api/todo/:todo_id', {todo_id: '@id'}, {
markAllComplete: { method: 'POST', params: { complete: true }, isArray: true }
}
and then in your controller doing:
// Assuming your todos have been fetched and are stored
// in the $scope.todos variable...
Todo.markAllComplete($scope.todos);
The only thing (and arguably the hardest thing) left to do would be to code your backend to accept a POST to 'api/todo' and mark all the referenced todos as completed.