数据没有存储在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。