Я сталкиваюсь с следующей ошибкой при попытке публиковать данные датчика в мой API:
mongoservererror: 'timestamp_property' должен присутствовать и содержать действительное значение BSON UTC DateTime. < /p>
вот код для моего теста: < /p>
test("POST /api/sensors/:id/data - Should add new sensor data", async () => {
const fakeId = new mongoose.Types.ObjectId();
const sensorData = {
name: "New Sensor",
property_2: "Room B",
timestamp_property: new Date(), // Valid Date object
metadata_property: { location: "Lab 2", type: "Humidity" },
};
console.log(`New response is ${sensorData.timestamp_property}`);
const response = await request(app)
.post(`/api/sensors/${fakeId}/data`)
.set("Content-Type", "application/json")
.send(sensorData);
expect(response.status).toBe(201);
expect(response.body.task.name).toBe("New Sensor");
});
< /code>
Это моя модель Mongoose: < /p>
const mongoose = require("mongoose");
const TaskSchema = new mongoose.Schema(
{
name: String,
property_2: String,
timestamp_property: Date, // Should be a Date
metadata_property: Object,
},
{
timeseries: {
timeField: "timestamp_property",
metaField: "metadata_property",
granularity: "hours",
},
}
);
module.exports = mongoose.model("Task", TaskSchema);
< /code>
Я гарантировал, что TimeStamp_property устанавливается на объект даты, но я все еще получаю MongoservererRor. Может ли кто -нибудь объяснить, что может вызвать эту проблему? < /P>
Заранее! Но я все еще получаю монгозерверерр.
Подробнее здесь: https://stackoverflow.com/questions/793 ... valid-bson