node.js服务器+mongodb数据库(重拾)
1、node-express启动服务器
node app
127.0.0.1:3000 打开浏览器ok的话就启动成功(在public文件夹放个index.html)
加上了es6和热更新,npm start
package.json
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "nodemon app.js --exec babel-node --presets env" },
"dependencies": { "express": "^4.16.2" }, "devDependencies": { "babel-cli": "^6.26.0", "babel-preset-env": "^1.6.1", "babel-preset-es2015": "^6.24.1", "babel-preset-stage-2": "^6.24.1", "nodemon": "^1.12.1" },
2、接口测试
前端
var params={name:'hhl',psd:'123456'}; let out=Axios.get('/login',{params:params}); out.then((res) => { //console.log(res); console.log(res.data);// {name: "hhl", psd: "123456"} })
后端
app.js
app.use('/login',require('./routes/login'));
routes
router.get('/', function(req, res) { res.json(req.query); });
get方法用query,post方法用body,新手要注意还其他设置let bodyParser = require('body-parser');等
3、启动数据库服务器
教程见http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html
mongodb安装后,网上下载比较麻烦,稍后放个地址
cmd==> bin目录下,mongod --dbpath=(数据存放的目录)
回车后,有27012,浏览器打开ok
操作数据库,查看bin目录下mongo
4、node.js与服务器相连接
npm安装mongodb
这边很奇怪了,跟之前的.open() .collection() 方法都无效了
原来是版本问题,3.0上版本不知为啥不行,好像是针对其他系统的吧,我用的windows系统,然后看了官网的快速https://www.npmjs.com/package/mongodb
一下ok
"dependencies": { "express": "^4.16.2", "mongodb": "^2.0.55" },
这边我取消了用open,collection用了
db.js
//var mongo = require('mongodb'); //var host = 'localhost'; //var port = 27017; // //var server = new mongo.Server(host,port,{auto_reconnect:true}); //var db = new mongo.Db('ten',server,{safe:true}); //module.exports = db; var MongoClient = require('mongodb').MongoClient; var DB_CONN_STR = 'mongodb://localhost:27017/ten'; //# 数据库为 ten exports.mongo = MongoClient; exports.ten = DB_CONN_STR;
node与mongodb连接
let Db=require('.././database/db.js'); let express = require('express'); let router = express.Router(); router.get('/', function(req, res) { let response; Db.mongo.connect(Db.ten, function(err,db){ console.log('链接成功'); let Users=db.collection('person'); Users.find({name:'jack'}).toArray(function(err,doc){ if(doc.length){ response={'suc':true,'res':doc[0],msg:'成功'}; }else{ response={'suc':false,'msg':'账号或密码有误'}; } db.close(); res.json(response); }); //res.json(response); //此处不行 }); });
上为返回的内容
5、自己查看数据库
mongo
use ten
show collections 查看表
show dbs 查看数据库
db.user.remove({}) 删除集合user
db.user.count() 集合user内有多少个数据
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步