提问人:MARQ 提问时间:11/16/2023 最后编辑:Brian Tompsett - 汤莱恩MARQ 更新时间:11/17/2023 访问量:22
续集 .js - 批量创建 - 我的 API 和数据库之间的问题
Sequelize.js - bulkCreate - Issues between my API and DB
问:
我正在尝试在服务器打开时从数据库中的本地 API 收取一些数据费用,但我遇到了这个问题。bulkCreate
我的模型:
const { DataTypes } = require('sequelize');
module.exports = (sequelize) => {
sequelize.define('Country', {
id : {
type: DataTypes.STRING(3), //cca3
allowNull: false,
primaryKey : true,
validate:{
len: {
args: [3, 3],
msg: ' 3 caract.',
},
}
},
name: {
type: DataTypes.STRING,
allowNull: false,
unique: true
},
flag: {
type: DataTypes.STRING,
allowNull: false,
validate :{
isIn: [[".png"]],
isUrl: true,
}
},
continent: {
type: DataTypes.ENUM('South America', 'North America', 'Oceania', 'Asia', 'Antarctica', 'Europe', 'Africa'),
allowNull: false,
},
capital: {
type: DataTypes.STRING,
allowNull: false,
},
subregion: {
type: DataTypes.STRING,
allowNull: false,
},
area:{
type: DataTypes.FLOAT,
},
population: {
type: DataTypes.INTEGER,
allowNull: false,
}
});
};
在我的数据库中加载数据的代码:
const axios = require("axios");
const api = ('http://localhost:5000/countries');
const {Country} = require("../models/Country")
module.exports = async() => {
try {
const {data} = await axios(api);
const countries = data.map((ct) =>({
id: ct.cca3,
name: ct.name.common,
flag: ct.flags.svg,
continent : ct.continents[0],
capital: ct.capital ? ct.capital[0] : "No Capital",
subregion: ct.subregion ? ct.subregion : "No Data",
area : ct.area,
population: ct.population
}
));
console.log(countries);
await Country.bulkCreate(countries);
} catch (error) {
return null;
}
}
检查第 24 行,该日志在控制台中显示此内容。
因此,此时代码可以正常工作,但是在SQL Shell的数据库中,数据不会显示。
我期待控制台日志中显示的数据已经加载到我的数据库中,因此我可以用它来做一些有趣的事情。
PS:这就是我打开sv并尝试加载数据库的方式
const server = require("./src/server");
const { conn } = require('./src/db.js');
const loadDb = require("./src/models/loadDb.js");
const PORT = 3001;
conn.sync({ force: true }).then(() => {
server.listen(PORT, () => {
loadDb ();
console.log(`Server listening on port ${PORT}`);
})
}).catch(error => console.error(error))
答: 暂无答案
评论
console.log
bulkCreate
listen