gpt4 book ai didi

node.js - 在 node-mysql 的 where 子句中使用数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:23 25 4
gpt4 key购买 nike

我想做一个如下所示的查询:

"Select * FROM ... WHERE name in ?" which would be equal to 
"Select * FROM ... WHERE name in 'joe','william', ..."

有办法做类似的事情吗?

Model.query(query, array, function(err, result) {...});

我尝试了以下方法:

string = array.join("','")
Model.query(query, string, function(err, result) {...});

但是这是我得到的结果(由于单引号而出现反斜杠):

Select * FROM ... WHERE name in \'joe\',\'william\',..."

最佳答案

简单查询

正如 @Raphael 提到的,对于简单的查询,您可以使用 Model.find(), relevant docs section

带有连接的查询

对于涉及连接的查询,您可以使用 find.populate()docs for populate 。示例:

Model.find().where({
attr : [your array]
}).populate('association').exec(your callback);

非常复杂的查询

对于更复杂的查询,甚至填充都不够,您确实可以使用 .query() ( documentation ),但我认为您可能语法错误。第二个参数是一个数组。示例:

var title = "The King's Speech";
Movie.query('SELECT * FROM movie WHERE title = $1', [title], function(err, results) {})

关于node.js - 在 node-mysql 的 where 子句中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30483021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com