freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/mongodb-and-mongoose/create-a-model.russian.md

4.0 KiB
Raw Blame History

id title localeTitle challengeType
587d7fb6367417b2b2512c07 Create a Model Создать модель 2

Description

Прежде всего нам нужна схема. Каждая схема отображается в коллекцию MongoDB. Он определяет форму документов в этой коллекции. Схемы являются строительным блоком для Моделей. Они могут быть вложенными для создания сложных моделей, но в этом случае мы будем делать все просто. Модель позволяет создавать экземпляры ваших объектов, называемые документами. Создайте человека, имеющего этот прототип: - Person Prototype - -------------------- name : string [required] age : number favoriteFoods : array of strings (*) Используйте базовые типы схем mongoose. Если вы хотите, вы также можете добавить еще полей, использовать простые валидаторы, такие как обязательные или уникальные, и установить значения по умолчанию. Смотрите документы по мангустам . [C] RUD Part I - CREATE Примечание: Glitch - это настоящий сервер, и на реальных серверах взаимодействия с db происходят в функциях-обработчиках. Эти функции выполняются, когда происходит какое-то событие (например, кто-то попадает в конечную точку вашего API). Мы будем следовать тому же подходу в этих упражнениях. Функция done () - это обратный вызов, который говорит нам, что мы можем продолжить после завершения асинхронной операции, такой как вставка, поиск, обновление или удаление. Он следует соглашению Node и должен вызываться как done (null, data) в случае успеха или done (err) в случае ошибки. Предупреждение. При взаимодействии с удаленными службами могут возникнуть ошибки! /* Example */ var someFunc = function(done) { //... do something (risky) ... if(error) return done(error); done(null, result); };

Instructions

Tests

tests:
  - text: Создание экземпляра из схемы мангуста должно завершиться успешно
    testString: 'getUserInput => $.post(getUserInput(''url'') + ''/_api/mongoose-model'', {name: ''Mike'', age: 28, favoriteFoods: [''pizza'', ''cheese'']}).then(data => { assert.equal(data.name, ''Mike'', ''"model.name" is not what expected''); assert.equal(data.age, ''28'', ''"model.age" is not what expected''); assert.isArray(data.favoriteFoods, ''"model.favoriteFoods" is not an Array''); assert.include(data.favoriteFoods, ''pizza'', ''"model.favoriteFoods" does not include the expected items''); assert.include(data.favoriteFoods, ''cheese'', ''"model.favoriteFoods" does not include the expected items''); }, xhr => { throw new Error(xhr.responseText); })'

Challenge Seed

Solution

// solution required