I am working on a project where there I have to create team for user and but before that I need to check if that team name was already occupied by that same user.Below is sample code
var mysql=require('../../config/mysql_connect.js');
var dateFormat = require('dateformat');
var functions={
createTeam:function(data,cb){
this.checkifExists(data,function(err,result){
if(err)
{
cb(err);
}
else
{
if(result.length)
{
cb(null,0); // Team name exists
}
else
{
mysql.getConnectionFromPool(function(err,con){
if(err)
{
cb(err);
}
else
{
var query=con.query("Insert into team SET ? ",data,function(err,result){
if(err)
{
cb(err);
}
else
{
cb(null,result.insertId);
}
con.release();
});
}
});
}
}
});
},
checkifExists:function(data,cb){
mysql.getConnectionFromPool(function(err,con){
if(err)
{
cb(err);
}
else
{
var sql="Select id from team where user_id = ? and team_name like "+ con.escape('%'+data.team_name+'%') ;
var query=con.query(sql,[data.user_id,data.team_name],function(err,result){
if(err)
{
cb(err);
}
else
{
cb(null,result);
}
con.release();
});
console.log(query.sql);
}
});
}
};
module.exports=functions;
Everything works fine but is there any easier way to write this dependable queries in more manageable manner because there are times when there are more than 3-4 queries and code gets complicated and un-manageable.
I know same thing can be achieved via mysql unique index but still what if there are more then 3-4 queries and in some case indexes won't satisfy my needs