繁体   English   中英

数据未存储在Mongodb中

[英]Data not being stored in Mongodb

我试图在NodeJS服务器上运行此代码,并从Postman发出“ 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);
});

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

该应用程序使用bodyParser.urlencoded中间件,因此您需要通过Postman以x-www-form-urlencoded发送数据。

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

在此处输入图片说明

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM