参考网址
菜鸟教程:https://www.runoob.com/mongod...
express:https://www.expressjs.com.cn/
mongoose:http://www.mongoosejs.net/
源码
github:https://github.com/nowRookie/...
1、下载mongodb
1、mongodb下载地址:https://www.mongodb.com/try/d...
2、mongodb下载须要拜访外网
3、装置过程肯定不要勾选install mongodb compass,图形工具,否则会很慢
4、配套应用的图形工具,我抉择的robo3T,下载地址https://robomongo.org/
5、设置环境变量,E:\mongodb\bin
2、疾速启动mongodb
(1)通过.bat批处理文件
新建一个.bat后缀的文件,内容如下
E:cd E:\mongodb\binstart mongod --dbpath=E:\mongodb\dataD:cd D:\360download\Robo 3T 1.3.1start robo3t.exe
(2)网上说能够通过装置开机启动,net start MongoDB,来启动,然而我没有胜利
3、根本我的项目express + mongoose
1、新建文件夹express
2、npm init,始终回车,初始package.json
3、批改package.json,装置对应的包
{ "name": "app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon --exec babel-node ./app.js"//我的项目热更新,启动我的项目应用npm run start }, "author": "", "license": "ISC", "dependencies": { "babel-cli": "^6.26.0",//es6语法 "babel-preset-env": "^1.7.0", "body-parser": "^1.19.0", "cookie-parser": "^1.4.5", "cookie-session": "^1.4.0", "cors": "^2.8.5", "express": "^4.17.1", "fs-extra": "^9.0.1", "hbs": "^4.1.1", "lodash": "^4.17.15", "moment": "^2.24.0", "mongoose": "^5.9.9", "multer": "^1.4.2", "nodemon": "^2.0.4",//我的项目热更新 "ueditor": "^1.2.3" }}
4、新建.bablerc文件
{ "presets": ["env"]}
5、新建app.js,内容如下
import express from "express"const app = express()import path from "path"import { port } from "./config"// cors跨域解决import cors from "cors"app.use(cors())// body-parser中间件import bodyParser from 'body-parser'app.use(bodyParser.json())// middleware打印log信息import log from "./middleware/log"app.use(log())// 动态资源app.set('view engine', 'hbs')app.set("views", process.cwd() + "/template")app.use(express.static("static"))app.use(express.static("uploads"))app.use("/virtual", express.static(path.join(__dirname, "static")))// 路由import router from "./router/index"router(app)// ueditor百度文本编辑框import ueditor from "./plugins/ueditor.js"ueditor(app)// mongoose连贯import mongoose from 'mongoose';mongoose.set('useFindAndModify', false)mongoose.connect('mongodb://localhost/websiteDB', { useNewUrlParser: true, useUnifiedTopology: true});// db数据库const db = mongoose.connection;db.on('error', () => console.error('connection error:'));db.once("open", () => { app.listen(port, () => console.log(`Example app listening on port ${port}!`))})
6、其余
(1)mongo.exe 根本命令
//dbName:数据库名称use dbName //创立数据库//sheetName:表名称db.sheetName.insert({}) //插入数据,mongo会主动带上一个_id的标识符db.sheetName.find() //查问db.sheetName.find(id : {$gt : 2}).forEach(printjson) //$gt大于,printjson打印db.sheetName.sort({keyName : -1}) //依照keyName降序排列db.sheetName.find().limit(2) //限度查问条数为2条db.sheetName.count() //计数db.sheetName.remove({}) //删除全副db.sheetName.update({id : 1},{$set:{keyName : newVal}}) //更新id为1的数据,$set设置新的value//创立admin用户db.createUser( user : "admin",pwd : "admin", roles : [ {role : "userAdminAnyDataBase",db : "admin"} ])db.createUser( user : "username",pwd : "123456", roles : [ {role : "userAdmin",db : "employee"} ])//role能够为 userAdminAnyDataBasr userAdmin read readWrite
(2)bin文件下.exe的区别:
mongodump.exe 备份程序
mongostat.exe 监控服务器产生的增删改查
mongotop.exe 跟踪报告读写流动
ServerStatus 返回数据库状态,包含磁盘应用,内存