【发布时间】:2018-09-13 12:16:35
【问题描述】:
我有一个非常简单的架构:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
'name': {type: String, required: true}
});
module.exports = mongoose.model('User', userSchema);
我正在创建新用户并将其保存到数据库中,如下所示:
app.get('/profile/:name', (req, res) => {
const newUser = new User({
name: req.params.name
});
newUser.save((err) => {
if (err) {
res.send('Error: ' + err);
}
});
res.redirect('/profile');
});
然后我将向所有用户呈现“个人资料”:
app.get('/profile',
require('connect-ensure-login').ensureLoggedIn(),
(req, res) => {
User.find((err, allUsers) => {
if (err) {
res.send('Error: ' + err);
} else if (allUsers.length === 0) {
res.send('No users.');
} else {
res.render('profile', {user: req.user, allUsers: allUsers});
}
});
});
但我不断收到以下错误:
CastError:对于值“10160168341815704”,转换为 ObjectId 失败 模型“用户”的路径“_id”
我是 MongoDB 和 Express 的新手,非常感谢任何帮助!谢谢。
【问题讨论】: