Node.js sqlite3 IN运算符

时间:2015-12-18 05:44:26

标签: node.js sqlite sql-in

所以我目前正在尝试在Node.js中进行查询:

// friends is an array object
db.all('SELECT email ' +
       'FROM users' +
       'WHERE email in ?', friends, function(err, rows) {
           if (!err) {

我知道你可以为每个'?'传递一系列参数符号,但在这种情况下是否可以使用IN运算符?如果没有,我应该进行字符串连接还是准备好的语句?

3 个答案:

答案 0 :(得分:8)

F.e。

db.all('SELECT email ' +
       'FROM users' +
       'WHERE email in ( ' + friends.map(function(){ return '?' }).join(',') + ' )', 
       friends, 
       function(err, rows) {
           if (!err) {

答案 1 :(得分:0)

关于asbel的很好回答:

db.all(
    `SELECT email FROM users WHERE email in (${ friends.fill('?') })`, 
    friends, 
    callback
);

答案 2 :(得分:0)

// friends is an array object
db.all(`SELECT email FROM users WHERE email in ${ friends.map(() => "?").join(",") }`,
    friends, (err, rows) => {
    if (!err) {}
})