[英]Unable to create a document using a model in Mongoose
我正在嘗試使用express和mongoose創建REST api。 以下是用戶模型的代碼( user.server.model.js )。
const mongoose = require('mongoose');
var userSchema = new mongoose.Schema({
name: {
first: { type: String, required: true },
last: { type: String, required: true }
},
loginId: { type: String, required: true, unique: true },
password: { type: String, required: true },
location: String,
meta: { age: Number, website: String },
isActive: Boolean,
createdOn: { type: Date, default: Date.now },
updatedOn: Date
});
var User = mongoose.model('User', userSchema);
exports.User = User;
我正在嘗試在快速路由( route.js )中使用此User模型,如下所示:
const express = require('express'),
User = require('../models/user.server.model'),
router = express.Router();
router.route('/users')
.post((req, res) => {
let user = new User({
name: req.body.name,
loginId: req.body.loginId,
password: req.body.password,
location: req.body.location,
meta: req.body.meta,
createdOn: req.body.createdOn,
updatedOn: req.body.updatedOn
});
user.save((err) => {
if (err) {
res.send(err);
}
else{
res.json({ message: 'User created' });
}
});
});
module.exports = router;
但是,當我嘗試在Chrome中使用Postman擴展程序測試此api時,出現以下錯誤
TypeError:用戶不是構造函數
節點版本:6.0
誰能告訴我這里出了什么問題。
您正在使用require
值,直接作為User
,所以你應該改變exports.User
到module.exports
在user.server.model.js:
module.exports = User;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.