JavaScript - 我尝试将数据提取到数据库,但它 return statusCode: 400

JavaScript - I try to fetch data to database but it return statusCode: 400

我已经使用 Gatsby 前端在 Raspberry Pi 上成功实现了 DS18B20。 我的下一步是将所有温度数据放入 mongodb,我将其用作后端。 以下是我在server.js

中的代码
const express = require('express');
const http = require('http');
const socketIO = require('socket.io');
const app = express();
const server = http.createServer(app);
const io = socketIO(server);
const ds18b20 = require('ds18b20');
const fetch = require('isomorphic-fetch');
const port = 4001;

const interval = 1000;

io.on('connection', (socket) => {
  var sensorId = [];

  ds18b20.sensors((err, id) => {
    sensorId = id;
    socket.emit('sensors', id);
  });

  setInterval(() => {
    sensorId.forEach((id) => {
      ds18b20.temperature(id, (err, value) => {
        socket.emit('temps', {'id': id, 'value': value});
      });
    });
  }, interval);

  setInterval(() => {
    sensorId.forEach((id) => {
      ds18b20.temperature(id, (err, value) => {
        var tempData = {
          temperature: value,
          date: new Date()
        };
        fetch('http://172.20.10.3:1337/weathers', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json',
          },
          body: JSON.stringify(tempData),
        })
        .then(response => response.json())
        .then(data => console.log(data))
        .catch(err => console.log(err));
      });
    });
  }, 10000);

});

server.listen(port, () => console.log(`Listening on port ${port}`));

它return以下日志:

Dec 20 23:47:41 raspberrypi node[5195]: {
Dec 20 23:47:41 raspberrypi node[5195]:   statusCode: 400,
Dec 20 23:47:41 raspberrypi node[5195]:   error: 'Bad Request',
Dec 20 23:47:41 raspberrypi node[5195]:   message: 'ValidationError',
Dec 20 23:47:41 raspberrypi node[5195]:   data: { errors: { temperature: [Array] } }
Dec 20 23:47:41 raspberrypi node[5195]: }

如何使用 POST 方法获取 STRAPI? 非常感谢您。

我明白了,我只是通过 .toString() 将值更改为字符串。

var tempData = {
          temperature: value,
          date: new Date()
        };

var tempData = {
          temperature: value.toString(),
          date: new Date()
        };