@nathan111777

Два вопроса node.js кода, в котром я наполняю товарами базу данных?

Есть такой node.js код из двух файлов с помощью которых я наполняю товарами базу данных.

файл в котором создаю модель:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var schema = new Schema({
    imagePath: {type: String, required: true},
    title: {type: String, required: true},
    description: {type: String, required: true},
    price: {type: Number, required: true}
});


module.exports = mongoose.model('Product', schema);
Здесь создали конструктор, но документация говорит что конструктором является любая функция визваная через слово "new".

Первый вопрос:
Но в этом коде нет функции, тогда получается чтоvar schema = new Schemaне является конструктором? или как? или что такоеvar schema = new Schema?

-----------------------------------------------------------------------------------------------------------------------------------------------

Есть другой файл,который импортирует модель "product" с первого файла, и вот код другого файла:

var Product = require('../models/product');

var products = [
    new Product({
        imagePath: 'https://upload.wikimedia.org/wikipedia/en/5/5e/Gothiccover.png',
        title: 'Gothic Video Game',
        description: 'Awesome Game!!!!',
        price: 10
    }),
    new Product({
        imagePath: 'http://eu.blizzard.com/static/_images/games/wow/wallpapers/wall2/wall2-1440x900.jpg',
        title: 'World of Warcraft Video Game',
        description: 'Also awesome? But of course it was better in vanilla ...',
        price: 20
    }),
    new Product({
        imagePath: 'https://support.activision.com/servlet/servlet.FileDownload?file=00PU000000Rq6tz',
        title: 'Call of Duty Video Game',
        description: 'Meh ... nah, it\'s okay I guess',
        price: 40
    })


И второй вопрос:
Что такое здесь:

var products = [];
Я понимаю что это массив, но масив чего? Можно сказать что это массив нескольких new Product, но что такое new Product я не могу обьяснить,могу обьяснить только что оно содержит свойства с значениями.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dimuska139
Backend developer
Все, что идет с new - создание нового объекта (экземпляра класса). Соответственно, new Product - создание нового объекта Product. Получается, что products - массив объектов Product.

var schema = new Schema - аналогично, создание экземпляра класса Schema.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы