У меня есть JSON файл данных по этой ссылке https://github.com/vontend/upload/blob/master/countries.json
Моя модель с пн goosejs нравится
const { model, Schema } = require("mongoose");
const CountrySchema = new Schema({
name: {
type: String,
required: [true, "Bạn phải nhập tên quốc gia"],
unique: true,
},
code: {
type: String,
required: [true, "Bạn phải nhập code"],
unique: true,
},
capital: {
type: String,
required: true,
},
region: {
type: String,
required: true,
ref: "Region",
},
currency: new Schema({
code: {
type: String,
required: true,
},
name: {
type: String,
required: true,
},
symbol: {
type: String,
required: true,
},
}),
language: new Schema({
code: {
type: String,
required: true,
},
name: {
type: String,
required: true,
},
}),
flag: {
type: String,
required: true,
},
});
const Country = model("Country", CountrySchema);
module.exports = Country;
И маршрут
const { Router } = require("express");
const fs = require("fs");
const Country = require("../models/Country");
const router = Router();
router.get("/country", async (req, res) => {
try {
let countries = await fs.readFileSync(
__dirname + "/../install/countries.json",
"utf-8"
);
countries = JSON.parse(countries);
// countries = await Country.insertMany(countries);
return res.json({
success: true,
message: "Init countries successful",
data: {
countries,
length: countries.length,
},
});
} catch (error) {
res.json({
success: false,
message: "Init countries failed",
error,
});
}
});
module.exports = router;
При запуске кода для вставки данных в базу данных я получил это сообщение
{
"success": false,
"message": "Init countries failed",
"error": {
"errors": {
"capital": {
"message": "Path `capital` is required.",
"name": "ValidatorError",
"properties": {
"message": "Path `capital` is required.",
"type": "required",
"path": "capital",
"value": ""
},
"kind": "required",
"path": "capital",
"value": ""
}
},
"_message": "Country validation failed",
"message": "Country validation failed: capital: Path `capital` is required.",
"name": "ValidationError"
}
}
Это так запутанно. Я не знаю, почему это так? Я дважды проверил, что путь capital
существует для каждого элемента. Так что с ним не так? Может ли кто-нибудь объяснить мне это, большое спасибо