数据未存储在Mongodb中

时间:2016-01-23 18:07:00

标签: javascript node.js mongodb mongoose

我正在尝试在NodeJS服务器上运行此代码并进行' POST'邮递员的要求。当我应该填充数据时,我会一直收到一个空的data字段的响应。

这是“POST'”之后服务器的响应。请求:

{
  data: []
}

data数组不应为空。

var deviceModel = new Schema({
    data: [ { type: Schema.Types.Mixed, required: true} ],
    time: { type: Date, default:Date.now }
});

这是主应用程序文件的内容:

var app  = express();
app.use(bodyParser.urlencoded({extended:true}));

//app.use(bodyParser.json());
var deviceData = mongoose.model('device1', deviceModel);
app.post('/',function(req, res){
  var devicedataat = new deviceData(req.body);
  console.log(req.body);
  devicedataat.save();

  console.log(devicedataat);
  res.status(201);
  res.send(devicedataat);
});

我想知道我做错了什么以及如何解决它。

2 个答案:

答案 0 :(得分:1)

该应用使用bodyParser.urlencoded中间件,因此您需要通过邮递员将您的数据发送为x-www-form-urlencoded

要在' POST'中发送数组。请求,您需要发送每个项目。您可以在下面看到一个示例:

enter image description here

答案 1 :(得分:0)

devicedataat.save(function (err) {
  if (err) return handleError(err);
  else console.log(devicedataat);
});

Save方法应与回调一起使用,因为它是异步的。

相关问题