1
我跑Node.js的,快速,猫鼬和MongoDB本地和有这样的代码在我的app.js:Node.js app.post不会填充MongoDB?
var express = require('express');
var app = express();
app.use(express.bodyParser());
// Decaler Mongoose
var mongoose = require('mongoose');
mongoose.connect('localhost','tinyreports');
// Require the Report model
var models = require('./models/reports.js');
app.post('/report/add', function(req, res) {
var title = req.body.title;
var recipients = req.body.recipients;
var report = new models.Report({title:title});
report.save(function(err, report) {
if (err) return handleError(err);
res.json({title:report.title});
});
});
app.listen(3000);
console.log('server_start');
我也有以下的模型(reports.js):
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var reportsSchema = new Schema({
title: String
});
exports.Report = mongoose.model('Report', reportsSchema);
当我运行cURL帖子curl -X POST -H "Content-Type:application/json" -d '{"title":"test"}' http://localhost:3000/report/add
来填充数据库时,什么都不会发生。
我在这里做错了什么?我的代码或整个设置有问题吗?
谢谢!
我没有看到任何明显的问题。你如何验证数据库内容?你在'/ report/add'里面尝试过一些'console.log'调用来确认事情正如你所期望的那样工作吗? –
我刚试过,你的代码工作正常,也许尝试升级所有库到最新? – zsong
@PeterLyons我做了一个res.json的标题,它返回一个不错的数组,所以它应该工作。当我在mongo shell中执行db.tinyreports.save({title:“test”})时,它会很好地填充数据库。但是当我运行我的代码时什么都没有奇怪... – Ismailp