【发布时间】:2023-04-10 20:10:01
【问题描述】:
我正在根据代码更新一个文档
var express = require('express');
var router = express.Router();
var user = require('./user');
router.put('/:username/email',
function(req, res, next) {
console.log("control check");
next();
},
email.acquire,
function(req, res) {
console.log("control check");
var username = req.params.username;
var address = req.body.email;
console.log(address);
user.find({
'username': username
}, function(err, user) {
if (err) {
throw (err);
console.log('ERROR WHILE PUT EMAIL');
} else {
console.log('success while PUT email');
user.email = address;
user.save(function(err, updatedUser) {
if (err) throw (err);
res.status(200).send(updatedUser)
});
}
});
});
module.exports = router;
但我得到了错误:
events.js:183 投掷者; // 未处理的“错误”事件 ^
TypeError: user.save 不是函数
user.js 的代码是
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var userSchema = new Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true
},
username: {
type: String,
required: true
},
password: {
type: String,
required: true
}
});
var user = mongoose.model('user', userSchema);
module.exports = user;
我已经尝试从模型中创建一个对象,但无济于事。
是的,存在一个名为“用户”的集合。
【问题讨论】:
-
另外,您在 db 中的集合名称将是
users而不是user
标签: javascript node.js mongodb mongoose