Есть такой 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 я не могу обьяснить,могу обьяснить только что оно содержит свойства с значениями.