簡體   English   中英

在node.js中進行動態查詢的方法

[英]Ways to do a dynamic query in node.js

我試圖弄清楚如何使用node-mysql在node.js中進行動態查詢。 要插入和更新的表和字段取決於用戶對data對象的請求。 我想到創建一個模塊來存儲不同的查詢,如下所示,但沒有運氣。 它給了我這個錯誤:

TypeError: Object function (){
   var likes = 'INSERT IGNORE INTO item (id,like_type) VALUES(?,?)';
   return likes;
 } has no method 'replace'

app.js

 var queries = require('./queries');
 .....

 socket.on("like",function(data){ 
  var table_file = data[0].table;
  var d = data[1];  
  connection.query(queries[table_file]
    ,[d.id,d.like_type],function(err,rows,fields){ 
     if(err){ throw err;}
     console.log(rows);
    });

queries.js:

module.exports = {
 item_like:function(){
   var likes = 'INSERT IGNORE INTO item (id,like_type) VALUES(?,?)';
   return likes;
 },
 people:function(){
   var likes = 'INSERT IGNORE INTO people (id,like_type) VALUES(?,?)';
   return likes;
 }
}

這是發送到套接字的數據對象:

data object: {table:item_like},{id:1,like_type:1};

將您在queries.js的導出更改為SQL字符串而不是函數,因為這是當前處理它們的方式:

module.exports = {
 item_like: 'INSERT IGNORE INTO item (id,like_type) VALUES(?,?)',
 people: 'INSERT IGNORE INTO people (id,like_type) VALUES(?,?)'
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM