![](/img/trans.png)
[英]Dynamic query to take input from user and do filtering from the database 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.