【发布时间】:2018-02-10 06:34:28
【问题描述】:
我将 json 发送到我的 node.js/express 应用程序,它接收发送的数据 做我想做的事,但只做一次。
在我启动 appjs 后第一次收到 200 个请求并将数据保存到我的 mongodb。我可以在数据库和控制台日志中看到数据。但在随后的任何 POST 中,我都会得到 500。
这是该路线的代码
var express = require('express');
var phone = require('../models/phonedata-api');
var router = express.Router();
var bodyParser = require('body-parser');
router.use(bodyParser.json()); // support json encoded bodies
router.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
router.post('/api/phone-data', function(req, res) {
phone = new phone();
phone.loc = req.body.loc;
phone.battery = req.body.battery;
phone.signal = req.body.signal;
phone.phonedate = req.body.phonedate;
phone.day_of_month = req.body.dom;
phone.save(function(err) {
if(err)
res.send(err);
})
res.send('Phone data recived successfully');
console.log(req.body);
});
module.exports = router;
还有我的数据库模型/模式。
// /models/phonedata-api.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var phoneSchema = new Schema({
loc: String,
battery: String,
signal: String,
phonedate: String,
day_of_month: String,
date: { type: Date, default: Date.now },
});
var phone = mongoose.model('phone', phoneSchema);
module.exports = phone;
{ "battery": "72",
"signal": "-12",
"phonedate": "09-08-2015",
"dom": "9",
"loc": "52.05351615,1.12653186" }
我的控制台日志是。
> pukkapi@1.2.0 start /home/pi/Dev_work/pukkapi
> node ./bin/www
{ battery: '72',
signal: '-1',
phonedate: '09-08-2015',
dom: '9',
loc: '52.05351615,1.12653186' }
POST /admin/api/phone-data 200 29.914 ms - 31
POST /admin/api/phone-data 500 595.693 ms - 4723
我在这里做错了什么,我是否错过了关闭以前的连接之类的东西?任何指针都将不胜感激。
非常感谢。
【问题讨论】:
-
你在控制台上搞什么鬼还为你提供休息客户端的示例请求
-
您的应用程序日志,您应该会在日志中看到错误
-
我没有登录到文件,只是控制台
标签: javascript node.js mongodb express mongoose