安装路径不要有中文!!
打开数据库后
输入mongo
显示如下内容开启成功
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e0940a21-e1f1-40e5-acb9-b90e12927ca9") }
MongoDB server version: 4.4.0
输入show dbs
admin 0.000GB//自带数据库
config 0.000GB//自带数据库
devops 0.000GB //自己建的数据库
local 0.000GB//自带数据库
1.使用数据库、创建数据库
use tryone
想创建成功一个数据库必须插入一个数据
在数据库的表中插入数据前先使用use wenera 切换到这个库
数据库的子集就是表(集合)
show collections
查看有哪些集合使用
user表中的数据
{ "_id" : ObjectId("5f7fc6b0dd43753f909da25c"), "name" : "小新", "age" : 30 }
{ "_id" : ObjectId("5f7fd0f1dd43753f909da25f"), "name" : "xiaowang", "age" : 23 }
{ "_id" : ObjectId("5f7fd102dd43753f909da260"), "name" : "xiaoer", "age" : 13 }
{ "_id" : ObjectId("5f8023e7dd43753f909da261"), "name" : "xiaohu", "age" : 21 }
{ "_id" : ObjectId("5f8023fadd43753f909da262"), "name" : "xiaobai", "age" : 22 }
user是表的名字
db.user.insert({"name":"xiaoxin","age":30})
在wenera
库中建立user表插入一条数据
db.dropDatabase()
删除数据库前先切换到这个数据库
db.user.find()
查看表里所有数据
db.user.find({age:{$gt:22}})
表中age>22的记录
db.user.find({age:{$gte:22}})
表中age>=22的记录
db.user.find({age:{$lt:22}})
表中age<22的记录
db.user.find({age:{$lte:22}})
表中age<=22的记录
db.user.find({age:{$gte:13,$lte:26}})
查询age>=13且<=26
db.user.find({name:/lala/})
查询name中包含lala
的数据,数据量比较小的时候,搜索场景可以使用
db.user.find({name:/^l/})
查询name中包含以l
开头的数据
db.user.find({name:/n$/})
查询name中包含以n
结尾的数据
db.user.find({name:/lala/},{age:1})
查询结果只显示age这列
db.user.find({name:/r$/},{age:1,name:1})
查询结果只显示age,name这2列
db.user.find().sort({age:1})
升序
db.user.find().sort({age:-1})
降序
db.user.find(name:'zhangsan',age:22)
降序
db.user.find().limit(2)
前两个数据
db.user.find().skip(2)
从2条以后的数据开始查
db.user.find().limit(16),skip(8)
一页8条数据,查询第三页的数据
db.user.find({$or:[{age:13},{name:"xiaowang"}]})
查询age:13和name:"xiaowang"的数据
db.user.find({$or:[{name:"xiaoxin"},{name:"xiaowang"}]})
查询name:"xiaoxin"和name:"xiaowang"的数据
db.user.find().limit(1)
查询第一条数据
db.user.find({age:{$gt:20}}).count()
统计age大于20的数据
2.修改数据
{ "_id" : ObjectId("5f7fc6b0dd43753f909da25c"), "name" : "xiaoxin", "age" : 30 }把"name" : "xiaoxin"改为"name" : "小新"
user是表的名字
db.user.update({"name":"xiaoxin"},{$set:{"name":"小新"}})
> db.user.find()
{ "_id" : ObjectId("5f7fc6b0dd43753f909da25c"), "name" : "小新", "age" : 30 }
{ "_id" : ObjectId("5f7fce4edd43753f909da25e"), "name" : "xiaohong", "age" : 23 }
{ "_id" : ObjectId("5f7fd0f1dd43753f909da25f"), "name" : "xiaowang", "age" : 23 }
{ "_id" : ObjectId("5f7fd102dd43753f909da260"), "name" : "xiaoer", "age" : 13 }
其中的条件可以是多个,更换的部分也可以是多个,不写$set默认为替换数据
db.user.update({"age":13},{$set:{"sex":"男"}},{multi:true})
集体更改
db.user.remove({"name":"xiaohong"}) 删除单个,不写参数整张表都会被删掉
db.user.remove({"name":{$gt:30}}) 年纪大于30的删除
3.配置超级管理权限
db.createUser({
user:'wener',
pwd:'123',
roles:[{role:'root',db:'admin'}]
})
show users
查看用户
mongod.cfg文件中# 符号指注释这个命令
mongo admin -u wener -p 123
进入所有库
db.dropUser('管理员名字')
删除管理员
db.updateUser("用户名",{pwd:"密码"})
更新密码
db.auth("admin","password");
使用场景
mongo wener
use admin
db.auth("wener","123")
在配置用户后使用MongoDB Compass
出现An error occurred while loading navigation: command hostInfo requires authentication
点击以下红框部分进行配置