Javascript(NodeJs) - 将数组和对象转换为 mysql 中的批量插入(Sequelize)
Posted
技术标签:
【中文标题】Javascript(NodeJs) - 将数组和对象转换为 mysql 中的批量插入(Sequelize)【英文标题】:Javascript(NodeJs) - Conversion of Arrays and Objects to bulk insert in mysql(Sequelize) 【发布时间】:2018-05-31 14:36:27 【问题描述】:这是我的 json:
"senderName": "ifelse",
"message": "Hi",
"groups": [
"id": 14,
"groupname": "Angular",
"contactgroups": [
"id": 1,
"contact":
"id": 1,
"gsm": "123456789"
,
"id": 3,
"contact":
"id": 2,
"gsm": "111111111"
],
"select": true
],
"draftData":
"contacts": [
]
如何把上面的json做成:
[phoneno: 123456789; sender: ifelse ; message: Hi,phoneno: 11111111; sender: ifelse ; message: Hi]
我想从 gsm 对象键中获取音素数据
执行此操作的最佳方法是什么? for 或 forEach 或任何其他?
【问题讨论】:
这样的记录只有一条,或者你的JSON上有多条这样的记录? 我需要这个精确的 json 对象 :) 【参考方案1】:我猜,这就是你想要的。使用map
将contactgroups
转换为带有phoneno
的新数组。
var data =
"senderName": "ifelse",
"message": "Hi",
"groups": [
"id": 14,
"groupname": "Angular",
"contactgroups": [
"id": 1,
"contact":
"id": 1,
"gsm": "123456789"
,
"id": 3,
"contact":
"id": 2,
"gsm": "111111111"
],
"select": true
],
"draftData":
"contacts": []
var result = data.groups[0].contactgroups.map(i =>
return
phoneno: i.contact.gsm,
sender: data.senderName,
message: data.message
)
console.log(result);
【讨论】:
以上是关于Javascript(NodeJs) - 将数组和对象转换为 mysql 中的批量插入(Sequelize)的主要内容,如果未能解决你的问题,请参考以下文章
遇到 Async/Await Promise 问题 - Javascript/Nodejs
NodeJS / Javascript在不同数组中查找具有相同属性的对象
将数据从 mongodb 解析为 javascript 数组对象 [重复]