利用eval属性完成数据库的增删改(可以使用mongodb的原生操作)
var Db = require('mongodb').Db,
Server = require('mongodb').Server;
var db = new Db('test', new Server('locahost', 27017));
//首先封装这个eval方法.只需要传递想要运行的sql语句即可.
var opendb={
execute:function (sql){
db.open(function(err,db){
db.eval('function () {'+sql+'}', function(err, result) {
if(err)console.log(err);
console.log('success...');
});
});
}
}
var util={
//jsonObject为字符串。例如{id:1,'age':12};
add:function(tablename,jsonObject){
var sql='db.'+tablename+'.save('+jsonObject+')';
opendb.execute(sql);
},
//id为键值对的形式,例如id:1
update:function(tablename,id,jsonObject){
var sql="db."+tablename+".remove("+id+");db."+tablename+".save("+jsonObject+");";
opendb.execute(sql);
},
delete:function(tablename,id){
var sql="db."+tablename+".remove("+id+");";
opendb.execute(sql);
}
}
module.exports=util;
2 回复
你这确定不会出现SQL
脚本注入吗?不推荐使用eval
嗯。这个我还真没想到,只是感觉这样比较好理解就用的这个方法。