node.js - 使用 Google Trends API 将数据插入 PostgreSQL
问题描述
我已经从 Google Trends API 获取数据,现在我试图将其插入数据库,但一次只插入一行,我想将所有行插入数据库。
try {
var res = await googleTrends.interestByRegion({keyword:keyword,geo:"US-"+state}); //resolution:keyword
res = JSON.parse(res);
// for debugging.
//console.log(res);
if("default" in res){
if("geoMapData" in res["default"]){
for(var x in res["default"].geoMapData){
var row = res["default"].geoMapData[x];
if("geoName" in row && "value" in row){
// console.log(" - " + row.geoName + "\t\t" + row.value);
console.log(">>>>>>>>>>>>>>>>>>",x,row.geoName + row.value)
//insert statement
var name1 = [row.geoName]
// name1.push([keyword,row.geoName])
// var name2 = [row.geoName]
pool.query("INSERT INTO practice(state,keyword) VALUES($1)",name1,(err, res) => {
console.log(err, res);
// pool.end(() => {
// console.log('pool has ended')
//})
});
编译后出现此错误。
error: INSERT has more target columns than expressions
at Connection.parseE (/home/abc/Desktop/node2/node_modules/pg/lib/connection.js:604:13)
at Connection.parseMessage (/home/abc/Desktop/node2/node_modules/pg/lib/connection.js:403:19)
at Socket.<anonymous> (/home/abc/Desktop/node2/node_modules/pg/lib/connection.js:123:22
解决方案
推荐阅读
- docker - 无法验证“docker”驱动程序(kubernetes)
- c - 初始化结构数组成员的最有效方法?
- python - 在 Apache Beam DirectRunner 中使用 KafkaIO 时出错
- xml - XSLT IBM TransformerFactoryImpl 将 1 天添加到日期(XML 转换)
- c++ - 使用 vscode 调试时 GDB 意外退出
- android-studio - 无法确定任务 ':app:compileDebugJavaWithJavac' 的依赖关系。颤振问题
- javascript - 编辑链接的innerText禁用点击链接
- c# - 从 Asp.net core 2.0 升级到 2.1 后出现“无效的列名”错误
- mysql - 如何选择集数最高的相关子主题视频?
- excel - 修剪功能不会删除空格 - VBA Excel