【发布时间】:2020-09-30 18:10:19
【问题描述】:
我在向 mongodb 添加一些记录时遇到以下错误。
错误:
User.create 不是函数 /--/ "TypeError: User.create is not a 函数\n 在 module.exports.createUsers
这里我从邮递员那里发送一些数据,我的目标是将它们添加到 mongodb 数据库中。我先解释一下我的 mongo 连接文件。
mongo.js:
const mongoose = require('mongoose').Mongoose;
const config = require('../config/settings');
const { MONGO_DB } = require('../config/settings');
const mongooseInstance = new mongoose();
const url = `mongodb://${config.MONGO_USER}:${config.MONGO_PWD}@${config.MONGO_URL}/${MONGO_DB}`;
const options = {
useNewUrlParser: true,
useCreateIndex: true,
connectTimeoutMS: 5000000,
poolSize: 10000,
useUnifiedTopology: true
};
/*
1- Connect to mongo server
*/
mongooseInstance.connect(url, options, (err) => {
if(!err) {
console.log('Mongodb connection successed');
} else {
console.log('Error in DB connection:' + JSON.stringify(err, undefined, true));
}
})
module.exports = mongooseInstance;
上面的文件用来连接我的 mongodb。我在下面解释我的代码。
user.js:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const User = new Schema({
name: {type: String},
mobile: { type: String},
email: { type: String},
city: { type: String}
}, {
timestamps: {
CreatedAt: 'CreatedAt',
UpdatedAt: 'UpdatedAt'
},
collection : 'user'
});
module.exports = User;
以上文件是我的模型文件。我的控制器文件如下所示。
user-controller.js:
const User = require('../models/user');
/*
1- Add user.
*/
module.exports.createUsers = function (req, res,next) {
const data = req.body;
user = User.create(data);
if(!user) {
return res.status(400).json({ success: false, res: []}).end('');
} else {
return res.status(200).json({ success: true, res: user}).end('');
}
}
我在这里尝试创建记录,但遇到了上述问题。我需要将记录添加到用户集合中。请帮我解决这个问题。
【问题讨论】: