在 Node JS 中使用 MSQL XDEVAPI,我可以将多个调用链接在一起吗?

     2023-02-23     229

关键词:

【中文标题】在 Node JS 中使用 MSQL XDEVAPI,我可以将多个调用链接在一起吗?【英文标题】:Using the MSQL XDEVAPI In Node JS, can I chain multiple calls together? 【发布时间】:2020-12-24 18:56:36 【问题描述】:

例如,我正在尝试检查表中是否存在值,然后如果不存在重复值,则将值写入同一个表中,但它不起作用。让我知道是否可以链接调用,如果不是,我是否只需传递变量然后再次调用数据库,我也无法关闭与单个会话的连接,任何帮助将不胜感激。

  mysqlx.getSession( 
    user: 'robot', 
    password: 'password',
    host: 'localhost:8080',
    port: '33060'
)

    .then (function(session)
var v_table = session.getSchema('nms2019local').getTable('v_table')

for (let k=0; k<s_key.length; k++)
 v_table
.select(['s_key', 'accounts'])
.where('s_key like :accounts')
.bind('s_key',s_key[k])
.execute()
.then(function(s_keyDuplicates, session)
    
    let s_keyDuplicatesCheck = s_keyDuplicates.fetchOne()
    console.log(s_keyDuplicatesCheck)
    if (s_keyDuplicatesCheck === undefined)
        
        for (let n = 0; n<s_key.length; n++)
            return v_table
            .insert(['s_key'])
            .values([s_key[n]])

        
    
//     else
    
//     let s_key_final = [];
//     s_keyDuplicatesArray = s_keyDuplicates.toArray()
//    for (var m in s_key)
//        if(!s_keyDuplicatesArray.includes(s_key[m])) s_key_final.push(s_key[m])
//     console.log(s_key_final)
//    for (let l = 0; l<s_key_final.length; l++)
//              return v_table
//              .insert(['s_key'])
//              .values([s_key_final[l]]) 
//    
    
// 
)






)


.catch(function(err)
console.log('the following error occured: ' + err.message)

)

【问题讨论】:

【参考方案1】:

链接到底是什么意思?快速浏览一下,我想说唯一的问题是您没有使用insert() 调用execute(),因此这些值永远不会发送到服务器。不过,我不确定异步流程。必须检查。

另外,我不确定s_key 列是否应该包含唯一值,但如果是这种情况,您最好创建一个唯一键约束并使用像@987654321 这样的SQL“upsert”策略@。

免责声明:我是 MySQL X DevAPI Connector for Node.js 的首席开发人员

【讨论】:

谢谢,是的,它们是独特的价值。答案很简单,只需添加执行即可。

开始在 node.js 中使用 JWT

】开始在node.js中使用JWT【英文标题】:StartingtouseJWTinnode.js【发布时间】:2020-07-2400:41:27【问题描述】:我正在尝试在node.js应用程序中使用JWT。我关注了thistutorial。但是我在中间件层面遇到了问题:functionauthenticateToken(req,res,next)... 查看详情

如何在 Node.js 中使用 HTTPS

】如何在Node.js中使用HTTPS【英文标题】:HowtouseHTTPSwithNode.js【发布时间】:2014-05-2423:06:27【问题描述】:我没有HTTPS、SSL等方面的经验。我想知道如何通过HTTPS使用Node.js。我知道如何很好地使用node.js,但是使用HTTPS时会出错。我... 查看详情

如何在 Cappuccino 中使用 Node.js?

】如何在Cappuccino中使用Node.js?【英文标题】:HowCanIUseNode.jsWithCappuccino?【发布时间】:2012-08-2704:36:21【问题描述】:我想在Cappuccino中实现一个使用Node.js作为服务器的客户端应用程序。我目前使用Express运行Node:varexpress=require(\'e... 查看详情

使用 Javascript/Node.js 在代码中执行 mongoimport

】使用Javascript/Node.js在代码中执行mongoimport【英文标题】:ExecutingmongoimportinsidecodewithJavascript/Node.js【发布时间】:2013-03-0410:23:18【问题描述】:node.js/javascript中是否有任何库允许个人在代码中使用mongoimport?据我了解,mongoimport... 查看详情

如何在 Node.js 中使用 XHR API?

】如何在Node.js中使用XHRAPI?【英文标题】:HowtouseXHRAPIinNode.js?【发布时间】:2016-04-0312:47:39【问题描述】:这是我之前question的后续行动假设我有一些javascript代码,它在客户端(在浏览器中)运行良好。这段代码使用浏览器API... 查看详情

为啥在 Node.js 中使用猫鼬模式

】为啥在Node.js中使用猫鼬模式【英文标题】:WhyusemongooseschemainNode.js为什么在Node.js中使用猫鼬模式【发布时间】:2020-08-1319:17:17【问题描述】:我正在学习Node.js和Mongoose。然后,我遇到了术语模式,它被定义为数据结构、默认... 查看详情

使用 node.js 在 Postgres 中更新插入

】使用node.js在Postgres中更新插入【英文标题】:UpsertinPostgresusingnode.js【发布时间】:2011-12-1603:31:35【问题描述】:我正在尝试使用带有pg扩展名的node.js(版本0.5.4)在postgres数据库中进行插入或更新。到目前为止,我有以下代码... 查看详情

在 node.js 中使用参数生成过程

】在node.js中使用参数生成过程【英文标题】:Spawningprocesswithargumentsinnode.js【发布时间】:2012-09-2812:27:27【问题描述】:我需要从node.js生成一个子进程,同时使用ulimit来防止它占用太多内存。按照文档,基本的spawn工作并不难:c... 查看详情

在 node.js 中使用Sharp压缩图像

】在node.js中使用Sharp压缩图像【英文标题】:Compressimageusingsharpinnode.js【发布时间】:2018-12-1920:39:26【问题描述】:我想在node.js中使用sharp调整图像大小和压缩图像jpeg有单独的压缩,webp有单独的压缩,png有单独的压缩。WEBPsharp(\... 查看详情

在 node.js 中使用 node-fetch 重用 TCP 连接

】在node.js中使用node-fetch重用TCP连接【英文标题】:ReuseTCPconnectionwithnode-fetchinnode.js【发布时间】:2020-10-1111:07:44【问题描述】:我正在使用此函数调用外部APIconstfetch=require(\'node-fetch\');fetchdata=asyncfunction(result=)varstart_time=newDate().g... 查看详情

如何使用 Passport.js 在 Node.js 中重置/更改密码?

】如何使用Passport.js在Node.js中重置/更改密码?【英文标题】:Howtoreset/changepasswordinNode.jswithPassport.js?【发布时间】:2013-12-1503:13:30【问题描述】:我在Node.js中使用Passport.js来创建登录系统。一切都很好,但是当他们忘记密码或想... 查看详情

如何在 node.js 中实际使用 Q Promise?

】如何在node.js中实际使用QPromise?【英文标题】:HowtoactuallyuseQpromiseinnode.js?【发布时间】:2014-05-0521:28:54【问题描述】:这可能是一个菜鸟问题,但我是新来的承诺,并试图弄清楚如何在node.js中使用Q。我看到tutorial以开头promise... 查看详情

使用 Node.js 在内存中缓冲整个文件

】使用Node.js在内存中缓冲整个文件【英文标题】:BufferentirefileinmemorywithNode.js【发布时间】:2013-11-1110:14:25【问题描述】:我有一个相对较小的文件(大约数百KB),我想将它放在内存中,以便在整个代码执行过程中直接访问。... 查看详情

在 node.js 中使用异步瀑布

】在node.js中使用异步瀑布【英文标题】:UsingAsyncwaterfallinnode.js【发布时间】:2014-10-3112:57:30【问题描述】:我有2个异步运行的函数。我想用瀑布模型来写它们。问题是,我不知道如何..这是我的代码:varfs=require(\'fs\');functionupda... 查看详情

在 node.js 中使用异步瀑布

】在node.js中使用异步瀑布【英文标题】:UsingAsyncwaterfallinnode.js【发布时间】:2014-10-3112:57:30【问题描述】:我有2个异步运行的函数。我想用瀑布模型来写它们。问题是,我不知道如何..这是我的代码:varfs=require(\'fs\');functionupda... 查看详情

在 Node.js 中使用公钥加密数据

】在Node.js中使用公钥加密数据【英文标题】:EncryptingdatawithapublickeyinNode.js【发布时间】:2012-02-0318:23:06【问题描述】:我需要使用公钥(.pem文件)加密字符串,然后使用私钥(也是.pem)对其进行签名。我正在加载.pem文件:publ... 查看详情

我们可以在 node.js 中使用 mysql

】我们可以在node.js中使用mysql【英文标题】:canweusemysqlwithnode.js【发布时间】:2016-03-1222:04:24【问题描述】:我可以使用像MongoDB这样的MYSQL和node.js来提高网站速度吗?因为几乎所有流行的编程语言(如Java或PHP)都提供驱动程序... 查看详情

如何在 Node.js 中使用 ES6 导入? [复制]

】如何在Node.js中使用ES6导入?[复制]【英文标题】:HowcanIuseanES6importinNode.js?[duplicate]【发布时间】:2018-02-0121:31:10【问题描述】:我正在尝试在Node.js中掌握ES6导入的窍门,并尝试使用此示例中提供的语法:CheatsheetLink我正在查看... 查看详情