由mongoDB搭建文件服务器延伸到mongoDB的搭建与使用
-------------------------------------docker安装mongoDB----------------------------------------
//拉取docker镜像
docker pull mongo
//启动docker容器
docker run --name mongoDB -p 27017:27017 -v /usr/local/mongo:/data/db -d mongo --auth
//获取容器id
docker ps
//进入mongoDB容器
docker exec -it d123b32v884a mongo admin
//创建admin管理员账号:使用exit退出容器
db.createUser({ user: 'root', pwd: 'root', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
//创建普通用户
docker exec -it d123b32v884a mongo admin
db.auth("root","root") //校验用户
db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: "readWrite", db: "app" } ] });
使用Navicat可以直连mongoDB,使用password校验用户即可,涉及到部分操作权限问题
暂时传不了图片,后面再补,总之navicat能进行密码连接
-------------------------------------mongoDB的基本操作----------------------------------------
//显示有哪些mongoDB数据库
show dbs
//切换到mongoDB数据库(如果不存在会自动创建)
use app
//查看当前的所在数据库
db
//在当前数据库创建集合
db.createCollection("ccs")
//显示全部集合
show table
//向app中加入一条数据(一个文档,可以包含多个键值对)
db.ccs.insert({c:2322})
db.ccs.insert({name:"古老楼",age:28,sex:"男"})
db.ccs.insert({c:123})
//修改文档,如果有多条语句,只会修改第一条(注意当某个类的数据全部被替换为空时,则该列(某个文档的一条key值)消失)
db.ccs.update({"name":"张三"},{"name":"张子枫"})
//查询全部
db.ccs.find()
//查询满足条件的多条文档数据
db.ccs.find({name:"张子枫"})
//查询多条数据
db.ccs.find({$or:[{"name":"张子枫"},{"name":"杨子琦"}]})
//获取查询到的行数
db.ccs.find().count()
//按照sort排序(1为正序,-1为倒序)
db.ccs.find().sort({age:-1})
//条件删除
db.ccs.remove({sex:"男"})
//删除所有
db.ccc.remove({})
//删除数据库
db.dropDatabase()