我正在尝试使用以下url localhost:3000 / todos从邮递员发送帖子请求。但是,在发出此请求时,状态读取500内部服务器错误。我在身体中也出现错误todo不是一个功能。 这是server.js
var express=require('express');
var bodyParser=require('body-parser');
var mongoose=require('./db/mongoose');
var Todo=require('./models/todo');
var User=require('./models/user');
var app = express();
app.use(bodyParser.json());
app.post('/todos', (req, res) => {
var todo = new Todo({
text: req.body.text
});
todo.save().then((doc) => {
res.send(doc);
}, (e) => {
res.status(400).send(e);
});
});
app.listen(3000, () => {
console.log('Started on port 3000');
});
这是todo.js
var mongoose=require('mongoose');
var Todo = mongoose.model('Todo', {
text: {
type: String,
required:true,
minlength:1,
trim:true
},
completed: {
type: Boolean,
default:false
},
completedAt: {
type: Number,
default:null
}
});
module.exports={Todo};
答案 0 :(得分:4)
您正在导出包含Todo对象的对象,因此您可以通过以下方式访问该对象:
libtcmalloc
(var todo = new Todo.Todo({ ...
)
或,在server.js
中:
Todos.js
代替module.exports=Todo;
,您按原样离开module.exports={Todo};
。