数据没有存储在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中间件,所以你需要通过邮递员发送你的数据为x-www-form-urlencoded

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

在这里输入图像说明

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

由于保存方法是asynchronous的,因此应该使用callback。