一、使用nodejs操作MongoDB数据库
①使用官方的mongodb包来操作
②使用第三方的mongoose包来操作(比较常用)
// 首先必须使MongoDB数据库保持开启状态 // npm下载mongoose包并引入 var mongoose=require('mongoose'); // 连接MongoDB数据库 mongoose.connect('mongodb://localhost/test',{useMongoClient:true}); mongoose.Promise=global.Promise; // 创建一个模型,即设计数据库 var Cat=mongoose.model('Cat',{name:String}); // 实例化一个Cat var kitty=new Cat({name:'hello world'}); // 持久化保存kitty实例 kitty.save(function(err,ret){ if(err){ console.log(err) }else{ console.log(ret) } })
③使用mongoose操作MongoDB数据库例子:
- 基本工作:开启MongoDB服务,连接数据库,npm安装包并引包、连接数据库、设计文档结构、将文档发布为模型
// 首先必须使MongoDB数据库保持开启状态 // npm下载mongoose包并引入 var mongoose=require('mongoose'); // 连接MongoDB数据库 mongoose.connect('mongodb://localhost/test'); // 设计文档结构 var Schema=mongoose.Schema; var userSchema=new Schema({ username:{type:String,required:true}, password:{type:String,required:true}, email:{type:String}, }); // 将文档发布为模型mongoose.model()方法 /** * 第一个参数:传入一个大写名词字符串用来表示数据库名, * mongoose会自动将大写名词的字符串生成小写复数的集合名称 * 例如这里的User会变成users集合名称 * 第二个参数:架构schema */ var User= mongoose.model('User',userSchema) // 实例化一个User var admin=new User({ username:'admin', password:'123456', email:'admin@admin.com' }); // 持久化保存admin实例 admin.save(function(err,ret){ if(err){ console.log('保存失败') }else{ console.log('保存成功'); console.log(ret); } })
- 查询数据(查)
// 查询所有的数据 User.find(function(err,ret){ if(err){ console.log('查询失败') }else{ console.log(ret) } });
//按条件查询所有 User.find({username:'eric'},function(err,ret){ if(err){ console.log('查询失败') }else{ console.log(ret) } })
// 按条件查询单个 User.findOne({username:'eric'},function(err,ret){ if(err){ console.log('查询失败') }else{ console.log(ret) } });
- 更改数据(改)
// 根据条件更新所有 User.update({username:'eric'},function(err,ret){ if(err){ console.log('更新失败') }else{ console.log(ret) } });
// 根据指定条件更新一个 User.findOneAndUpdate({username:'eric'},function(err,ret){ if(err){ console.log('更新失败') }else{ console.log(ret) } });
// 根据id更新一个 User.findByIdAndUpdate('5a12321431234124141',{password:'123'},function(err,ret){ if(err){ console.log('更新失败') }else{ console.log(ret) } });
- 删除数据(删)
// 根据条件删除所有 User.remove({username:'eric'},function(err,ret){ if(err){ console.log('删除失败') }else{ console.log(ret) } });
// 根据指定条件删除一个 User.findOneAndRemove({username:'eric'},function(err,ret){ if(err){ console.log('删除失败') }else{ console.log(ret) } });
// 根据id删除一个 User.findByIdAndRemove('5a12321431234124141',{password:'123'},function(err,ret){ if(err){ console.log('删除失败') }else{ console.log(ret) } });
二、使用nodejs操作MySQL数据库
①npm安装包mysql----创建连接----连接数据库----执行数据操作(比如:增查删改)----关闭连接
②举例:
- 数据库和数据表
- 查询操作
// npm 安装并引入mysql包 var mysql=require('mysql'); // 创建连接 var connection=mysql.createConnection({ host:'localhost', user:'root', password:'0000', database:'test' }) // 连接数据库(打开冰箱门) connection.connect(); // 执行数据库操作(把大象放到冰箱) // 注意:无论是查询,修改,增加,还是删除,就在第一个参数里面写SQL语句即可 // 查询 connection.query('SELECT * FROM `users`',function(error,results,fields){ if(error) throw error; console.log('the solution is:',results); }); // 关闭连接(关闭冰箱门) connection.end();
- 增加操作
// npm 安装并引入mysql包 var mysql=require('mysql'); // 创建连接 var connection=mysql.createConnection({ host:'localhost', user:'root', password:'0000', database:'test' }) // 连接数据库(打开冰箱门) connection.connect(); // 执行数据库操作(把大象放到冰箱) // 注意:无论是查询,修改,增加,还是删除,就在第一个参数里面写SQL语句即可 // 增加 connection.query('INSERT INTO users VALUES(11,"admin",0,"1994-1-1","000000000")',function(error,results,fields){ if(error) throw error; console.log('the solution is:',results); }); // 查询 connection.query('SELECT * FROM `users`',function(error,results,fields){ if(error) throw error; console.log('the solution is:',results); }); // 关闭连接(关闭冰箱门) connection.end();