This is my code in server.js I want to split into 2 files, and put configuration part in a separated file:
let mongoose = require("mongoose");
mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const userSchema = new mongoose.Schema({
username: {
type: String,
unique: true,
required: true
},
password: {
type: String,
required: true
}
});
const User = mongoose.model("User", userSchema);
After that I have two files. mongo.js
let mongoose = require("mongoose");
mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
module.export = mongoose;
and in server.js there is now:
let mongoose = require("./mongo");
const userSchema = new mongoose.Schema({
username: {
type: String,
unique: true,
required: true
},
password: {
type: String,
required: true
}
});
const User = mongoose.model("User", userSchema);
But now I'm getting an error. It seems that variable assigned to imported module isn't interpreted as mongoose module anymore:
const userSchema = new mongoose.Schema({
^
TypeError: mongoose.Schema is not a constructor
What I did wrong?
In mongo.js change below line.
...
module.exports = mongoose;