nodejs对mongodb数据库的增加修删该查实例代码
前端  /  管理员 发布于 4年前   266
以下是实例代码: 插入数据 查询数据 更新数据 以上就是本次介绍的全部相关知识点,感谢大家的学习。如果有任何补充,可以联系小编。/**1.npm install mongodb --save-dev / cnpm install mongodb --save-dev2.var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017/test'; 连接数据库的地址 3.连接数据库 MongoClient.connect(url, function(err, db) {}); 4.实现增加修改删除 MongoClient.connect(url, function(err, db) { db.collection('user').insertOne({'name':'zhangsan'},function(error,data){ })}); */var http=require('http');var ejs=require('ejs');var MongoClient = require('mongodb').MongoClient; /*引入数据库 MongoClient*/var DBurl = 'mongodb://localhost:27017/userDb'; // 连接数据库的地址 student表示数据库的名称var url=require('url'); /*引入url模块*/var app=require('./model/express-route.js');http.createServer(app).listen(3000);app.get('/',function(req,res){ var msg='这是数据库的数据' ejs.renderFile('views/index.ejs',{msg:msg},function(err,data){ res.send(data); })})app.get('/add',function(req,res){ //增加数据 MongoClient.connect(DBurl,function(err,db){ /*连接数据库*/ if(err){ console.log(err); console.log('数据库连接失败'); return; } //增加数据 db.collection('user').insertOne({ "name":"loaderman", "age":10 },function(error,result){ if(error){ console.log('增加数据失败'); return; } res.send('增加数据成功'); db.close();/*关闭数据库*/ }) })})app.get('/edit',function(req,res){ //增加数据 //res.send('修改数据成功'); MongoClient.connect(DBurl,function(err,db){ if(err){ console.log(err); console.log('数据库连接失败'); return; } db.collection('user').updateOne({"name":"loaderman"},{$set:{ "age":666 }},function(error,data){ if(error){ console.log('修改数据失败'); return; } console.log(data); res.send('修改数据成功'); db.close();/*关闭数据库*/ }) })})app.get('/delete',function(req,res){ //增加数据 //delete?name=lisi //console.log(url.parse(req.url,true)); var query=url.parse(req.url,true).query; //console.log(query.name); var name=query.name; MongoClient.connect(DBurl,function(err,db){ if(err){ console.log(err); console.log('数据库连接失败'); return; } db.collection('user').deleteOne({"name":name},function(error,data){ if(error){ console.log('删除失败'); return; } console.log(data); res.send('删除数据成功'); db.close(); }) })})app.get('/query',function(req,res){ MongoClient.connect(DBurl,function(err,db){ if(err){ console.log('连接数据库失败'); return; } //查询数据 var list=[]; /*放数据库里面查询的所有数据*/ var result=db.collection('user').find({}); result.each(function(error,doc){ //console.log(doc); if(error){ console.log(error); }else{ if(doc!=null){ list.push(doc); }else{ /*doc==null表示数据循环完成*/ /*获取数据以后*/ //console.log(list); ejs.renderFile('views/index.ejs',{list:list},function(err,data){ res.send(data); }) } } }) //console.log(result); })})
/** * 插入单条数据 * @param table_name 表名 * @param insertData 插入的数据 * @param callback 回调方法 */MongoDbAction.insertData= function (table_name, insertData , callback) { var node_model = this.getConnection(table_name); node_model.insertOne(insertData , function (err, res) { if (err) { callback(err); } else { callback(null, res); } });};
/** * 查询单条数据 * @param table_name 表名 * @param conditions 查询条件 * @param callback 回调方法 */MongoDbAction.findOne = function (table_name, conditions, callback) { var node_model = this.getConnection(table_name); node_model.findOne(conditions, function (err, res) { if (err) { callback(err); } else { callback(null, res); } });};
/** * 更新单条数据 * @param table_name 表名 * @param conditions 查询条件 {"name":'jackson影琪'}; * @param updateStr 更新数据 {$set: { "url" : "https://www.cnblogs.com/jackson-zhangjiang" }}; * @param callback 回调方法 */MongoDbAction.updateOne= function (table_name, conditions,updateStr , callback) { var node_model = this.getConnection(table_name); node_model.updateOne(conditions,updateStr, function (err, res) { if (err) { callback(err); } else { callback(null, res); } });};
您可能感兴趣的文章:
123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..路人 在
php中使用hyperf框架调用讯飞星火大模型实现国内版chatgpt功能示例中评论 教程很详细,如果加个前端chatgpt对话页面就完美了..Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号