Вы должны пропустить. Для вашего конкретного случая:
db.person.find().snapshot().forEach(
function (elem) {
db.person.update(
{
_id: elem._id
},
{
$set: {
name: elem.firstname + ' ' + elem.lastname
}
}
);
}
);
РЕДАКТИРОВАТЬ - Этот вопрос довольно старый и касается различных версий инфраструктуры CakePHP. Ниже приводится краткое изложение того, к какой версии относится каждый ответ. Не забудьте проголосовать за решение, которое больше всего помогает.
РЕДАКТИРОВАТЬ # 2 - более подробный ответ для CakePHP 2.x был добавлен Mark37.
РЕДАКТИРОВАТЬ # 3 - Добавлено решение для CakePHP. (Май 2018: CakePHP 3.5 переименовал некоторые функции, решение Роберто все еще действует.)
Глядя на соответствующий код API из предыдущего комментария, кажется, что вы можете вызвать Controller :: header ($ status ) для вывода заголовка без перенаправления. В вашем случае наиболее вероятно правильное использование:
$this->header('HTTP/1.1 403 Forbidden');
Возможно, что-то в этом разделе руководства cakephp может вам помочь.
redirect (string $ url, integer $ status, boolean $ exit)
Метод управления потоком, который вы будете использовать чаще всего это redirect (). Этот метод принимает свой первый параметр в виде относительного URL-адреса CakePHP. Когда пользователь успешно разместил заказ, вы может захотеть перенаправить их на экран квитанции. Второй параметр of redirect () позволяет определить Код состояния HTTP для сопровождения перенаправить. Вы можете использовать 301 (переехал на постоянное место жительства) или 303 (см. другое), в зависимости от характера перенаправить.
Метод вызовет exit () после перенаправление, если вы не установите третий значение false.
После повторного просмотра этого вопроса и чтения комментария Адриано к мой предыдущий ответ (относительно перенаправления пользователя на дружественную страницу), я придумал новое решение.
Внутри контроллера вы можете вызвать $ this-> cakeError ('error404')
для генерации дружественная страница 404. Это можно настроить (как и другие ошибки), создав файл в " app / views / errors / error404.ctp
".
После внимательного изучения кода для ] cakeError
, я рекомендую попробовать расширить Cake ErrorHandler
, создав файл в ' app / error.php
' или (возможно, более предпочтительно) ' app / app_error.php
'.
Код для error403
(имитирующий error404
код ) может выглядеть следующим образом:
class AppError extends ErrorHandler {
function error403($params) {
extract($params, EXTR_OVERWRITE);
$this->error(array(
'code' => '403',
'name' => 'Forbidden',
'message' => sprintf(__("Access was forbidden to the requested address %s on this server.", true), $url, $message)));
$this->_stop();
}
}
Вы также должны предоставить пользовательское представление для этой ошибки, создав « app / views / errors / error403.ctp
». Вот модифицированная версия представления error404 :
<h2><?php echo $name; ?></h2>
<p class="error">
<strong>Error: </strong>
<?php echo sprintf(__("Access was forbidden to the requested address %s on this server.", true), "<strong>'{$message}'</strong>")?>
</p>