【发布时间】:2022-01-07 03:47:57
【问题描述】:
我正在尝试使用 sequelize 和 nodejs 将以下数据插入到我的数据库中
{
"basicDetails": {
"companyName": "demo",
"email": "demo5@demo.com",
"phone": "5019918819",
"address": "manab",
"pincode": "400078",
"city": "Mumbai",
"state": "Maharashtra"
},
"subOffices": [
{
"subofficename": "bpo",
"location": "random"
},
{
"subofficename": "fintech",
"location": "worli"
}
],
"companyUsers": [
{
"userName": "Random user",
"userEmail": "random@us.com",
"userPhone": "0000000000"
},
{
"userName": "Demo User",
"userEmail": "demo@us.com",
"userPhone": "1111111111"
}
]
}
我基本上有 3 张桌子:-
- 客户(ID)
- 子办公室(foreignKey 是客户 ID)
- CompanyUsers(foreignKey 是客户端 ID)
基本详细信息将存储在客户端表中并使用该数据的 ID。我想在相应的表中插入分办事处和公司用户,其中外键是我通过将基本详细信息插入客户表中获得的 id
我能够将基本细节插入客户表并获取该数据的 id。我还想使用 sequelize 进行批量插入,包括我从客户端数据中获取的 id 作为它的外键。
router.post("/addClient", async function (req, res) {
const basicdetails = req.body.basicDetails;
console.log(basicdetails);
const subofficesData = [...req.body.subOffices];
const companyusers = [...req.body.companyUsers];
console.log("suboffices: " + suboffices);
subofficesData.forEach((item) => console.log(item));
companyusers.forEach((item) => console.log(item));
const data = await client.create({
companyName: basicdetails.companyName,
email: basicdetails.email,
mobileNumber: basicdetails.phone,
address: basicdetails.address,
pincode: basicdetails.pincode,
city: basicdetails.city,
state: basicdetails.state,
});
console.log(data.id);
const subofficesResult = await suboffices.bulkCreate(subofficesData, {
clientId: data.id,
});
console.log(subofficesResult);
// console.log(req.body.suboffices);
});
【问题讨论】:
-
从你的描述中不清楚你的问题是什么,请你把问题解释清楚一点
-
@RiggsFolly 我已经编辑了问题现在清楚了吗
-
不是真的,你问的是什么问题
-
@RiggsFolly 我已经编辑了问题现在清楚了吗
-
查看此线程中的第二个答案stackoverflow.com/questions/63922261/…
标签: javascript mysql node.js sequelize.js