目录
- tip
- 一个mongodb服务器可以有多个数据库
- 每个数据库之间互不联系
- 一个服务器只能同时启用一个数据库
使用
1.控制台命令行中操作mongodb
mongdb安装包 => bin => mongo.exe,双击打开
常见命令行
-
查看当前服务器中所有的数据库 :
show dbs
-
查看当前指向的数据库 :
db
-
新建/切换数据库:
use 数据库名称
-
查看当前数据库的集合:
show collections
-
往集合中加入数据(集合不存在,则新建):
db.集合名称.insert({'name':'小明','age':'20'})
-
查看某个集合中所有的数据
db.集合名称.find() db.集合名称.find().pretty()
2.可视化图形工具中操作MongoDB:Navicat Premium 15
安装:https://www.rjsos.com/archives/navicatpremium15.html
环境配置(安装链接里的教程安装失败的话,看教程):https://www.bilibili.com/video/BV1eh411B7NL?p=54
使用:https://www.bilibili.com/video/BV1eh411B7NL?p=61
3.通过后端代码区操作MongoDB
mongoose:Node.js提供的一个用于便捷操作MongoDB的库
- 下载:
npm i mongoose --save
express项目连接Mongodb
//app.js
// 链接mongodb
const mongoose = require('mongoose');
const dbURL = 'mongodb://localhost:27017/test';//项目链接的数据库地址
mongoose.connect(dbURL);//连接数据库
//项目与数据库连接成功触发
mongoose.connection.on('connected',function(){
console.log( dbURL +'数据库连接成功');
});
-
test:为具体数据库的名称
-
若数据库不存在则会自动创建
mongoose对数据库集合操作:
//users.js
// 1.定义数据集合中的结构:定义出集合中数据有哪些属性,属性的值是什么类型
const {Schema, model} = require('mongoose');
const usersSchema = new Schema({
username: String,
password: String
})
// 2.定义数据集合的模型,将schema和数据库中 的集合关联起来
//model('模型名称', usersSchema, '数据库中的集合名称');
const usersModel = model('usersModel',usersSchema,'users')
- 每一个集合(路由文件都需要配置一次)
mongoose的一些操作函数
-
find: 查找模型(数据库集合)中匹配的数据
//user = {name:'1111',pwd:'1111'} const result = await userModel.find(user);
- find为异步操作,需要用async, await
- 查询所有
userModel.find()
-
create: 新增数据
userModel.create({ name:'123', pwd:'122' })
- 为异步操作,需要用async, await
-
deleteOne/deleteMany: 删除数据
userModel.deleteOne({username:'zhang'});//只删除一个匹配的 userModel.deleteMany({username:'zhang'});//删除所有匹配的
- 为异步操作,需要用async, await
-
updateOne: 修改数据
userModel.updateOne({_id:1},{name:'list',pwd:'222'});
- 为异步操作,需要用async, await