node 学习(10) -- Nodejs 操作 MongoDb 数据库
2018-03-08 18:10
656 查看
1.首先我们需要安装mongodb包:
npm install mongodb –save-dev
mongodb学习
2.接下来我们就来正式查看一下nodejs是如何连接mongodb的
注意:由于现在mongodb版本的升到3.0了,上述代码基于的是2.2的版本, 因此在安装mongodb的时候如果没有指定版本,而默认安装3.0的版本,那么在执行上述代码的时候,会因为对应api变更的问题报错(db.collection is not a function)这种情况下,要么将mongodb的版本降级(更改package.json中的mongodb版本号),要么就是参照3.0的版本api修改代码。
npm install mongodb –save-dev
mongodb学习
2.接下来我们就来正式查看一下nodejs是如何连接mongodb的
var http=require('http'); var url=require('url'); // 引入mongodb下的MongoClient方法 var MongoClient = require('mongodb').MongoClient; //定义数据库文件地址,这里用的是本地的student数据库 var DBurl = 'mongodb://localhost:27017/student'; var G={}; //定义方法开始结束 var app=function(req,res){ //console.log('app'+req); var pathname=url.parse(req.url).pathname; if(!pathname.endsWith('/')){ pathname=pathname+'/'; } if(G[pathname]){ G[pathname](req,res); /*执行注册的方法*/ }else{ res.end('no router'); } } //定义一个get方法 app.get=function(string,callback){ if(!string.endsWith('/')){ string=string+'/'; } if(!string.startsWith('/')){ string='/'+string; } // /login/ G[string]=callback; //注册方法 //G['login']=function(req,res){ // //} } //只有有请求 就会触发app这个方法 http.createServer(app).listen(3000); #增加# app.get('/add',function(req,res){ MongoClient.connect(DBurl, function(err, db){ if(err){ console.log('出错了~'); return; } db.collection('admin').insertOne({'userid': 123, 'name':'testname12'}, function(error,data){ if(error){ console.log('error,',error); return; } console.log('data,',data); }) res.end('success'); db.close(); }) }) #删除# app.get('/delete', function(req,res){ MongoClient.connect(DBurl, function(err, db){ if(err){ console.log('err,',err); return; } db.collection('admin').deleteOne({ 'userid': 333 }, function(error, data){ if(error){ console.log('error,', error); return; } console.log('data,',data); db.close(); }) }) }) #更新# app.get('/update', function(req,res){ MongoClient.connect(DBurl, function(err, db){ if(err){ console.log('err,',err); return; } db.collection('admin').updateOne({ 'userid': 123 }, {$set: { 'userid': 333, 'name': 'demoname' }}, function(error, data){ if(error){ console.log('error,', error); return; } console.log('data,',data); db.close(); }) }) }) #查找# app.get('/search', function(req,res){ MongoClient.connect(DBurl, function(err, db){ if(err){ console.log('err,',err); return; } var data = db.collection('admin').find().toArray(function(error, val){ console.log('toArrayData,',val); }); res.end('ok'); db.close(); }) })
注意:由于现在mongodb版本的升到3.0了,上述代码基于的是2.2的版本, 因此在安装mongodb的时候如果没有指定版本,而默认安装3.0的版本,那么在执行上述代码的时候,会因为对应api变更的问题报错(db.collection is not a function)这种情况下,要么将mongodb的版本降级(更改package.json中的mongodb版本号),要么就是参照3.0的版本api修改代码。
相关文章推荐
- mongodb学习(3)--- NodeJs使用mongoose操作mongodb
- node学习篇——mongodb增删改查操作
- nodejs mongodb好友关系数据库设计与操作
- MongoDB学习10_MongoDB入门篇_基本操作
- MongoDB学习日记 - java代码(三):数据库与集合操作
- 学习笔记:nodejs(二)——node+express+mongodb建站相关(express4)
- Node.js MongoDB的安装 配置 数据库的CRUD操作 索引 学习笔记文档
- nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>
- MFC+mongodb+nodejs 数据库的读取与写入操作
- MongoDB 学习笔记(纯数据库操作)
- node.js操作mongodb学习小结
- Android:日常学习笔记(10)———使用LitePal操作数据库
- mongodb学习(2)--- nodeJS与MongoDB的交互(使用mongodb/node-mongodb-native)
- (10)node学习--数据库知识的简单回顾
- nodejs mongoose 操作mongodb 数据库封装
- Androidc学习笔记四之数据库持久化操作
- iOS学习笔记---数据库SQLite3的基本操作并讲内容显示在tableView中
- Ruby学习——数据库操作
- Mongodb删除数据库操作