javascript - 如何使用 javascript es6 将数组插入到 Spanner 数据库的列中

标签 javascript node.js object ecmascript-6 google-cloud-spanner

我有以下数据:

data = {
    id: 10012,
    name: "abc",
    hobby: ["cricket", "football"]
}

我的表结构是: id int64, 名称字符串(25), 宠物名称字符串(20), 爱好字符串(25)

如何将数据数组插入到spanner表中?

async insert(data) {
    const result;
    const params = {
        id: data.id,
        name: data.name,
        petName: null
    }
    await data.hobby.map(async h => {
        params.hobby = h;
        const query = 'INSERT INTO my_table (id, name, petName, hobby) VALUES (@id, @name, @petName, @hobby)';
        result = await db.RunTrans(query, params);
    });
    return result;
}

上面的代码不会将值插入到表中。请帮我解决这个问题..

最佳答案

解构出想要的值(以避免不必要的重复点符号),然后使用模板文字:

async insert(data) {
    const result;
    const params = {
        id: data.id,
        name: data.name,
        petName: null
    }
    await data.hobby.map(async h => {
        params.hobby = h;
        const { id, name, petName, hobby } = params;
        const query = `INSERT INTO my_table (id, name, petName, hobby) VALUES (${id}, ${name}, ${petName}, ${hobby})`;
        result = await db.RunTrans(query, params);
    });
    return result;
}

关于javascript - 如何使用 javascript es6 将数组插入到 Spanner 数据库的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56788559/

相关文章:

javascript - Firebase 事务会在很晚之后多次返回吗?

node.js - Mongoose/Nodejs 验证错误处理、内存泄漏问题

java - 如何在 JSONObject 中获取没有名称的 JSONArrays

javascript - 在加载时添加事件

javascript - Javascript 中数组与对象的实例化。什么时候数组是对象,什么时候获取数组的方法?

javascript - 单页各种计算脚本

javascript - AngularJS:显示和更新 ng-repeat 的每个元素的进度条

javascript - 如何将函数作为 Node 中的模块添加到现有对象?

javascript - 迭代键/值对中的值时遇到问题

Javascript function(params) 和 function({ params }),一个函数两种调用类型