利用eval属性完成数据库的增删改(可以使用mongodb的原生操作) - CNode技术社区

利用eval属性完成数据库的增删改(可以使用mongodb的原生操作)
发布于 13 年前 作者 fyddaben 5250 次浏览 最后一次编辑是 9 年前
 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

嗯。这个我还真没想到,只是感觉这样比较好理解就用的这个方法。

回到顶部

AltStyle によって変換されたページ (->オリジナル) /