В моем nodejs
у меня есть маленький mongoose
модуль, который exports
model (User)
.Когда мне требуется модуль без использования присваивания destructuring
и я создаю новый экземпляр модели с помощью оператора new
, я получаю error
, что модель не является функцией.Но если я использую назначение destructuring
, когда я require
модель, все работает нормально.Не в состоянии понять, почему.
User.js экспортирует модель
const mongoose = require('mongoose');
exports.User = mongoose.model('User', {
email:{
type: String,
trim: true,
minlength: 1,
reuqired: true
}
});
Ниже выдается код ошибки, если я не использую оператор деструктурирования в строке 2 :
server.js
const mongoose = require('../DB/mongoose');
const User = require('../Models/User');
console.log(typeof(User));
let user = new User({
email: "sdfdsf"
});
server.js выдает следующее сообщение об ошибке:
let user = new User({
^
TypeError: User is not a constructor
at Object.<anonymous> (F:\javascript\nodePractice\ToDoApp\server\server.js:6:12)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:719:10)
at startup (internal/bootstrap/node.js:228:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:576:3)
Но если я использую присваивание destructuring
на line 2
, все работает нормально. server.js :
const mongoose = require('../DB/mongoose');
const {User} = require('../Models/User');
console.log(typeof(User));
let user = new User({
email: "sdfdsf"
});