MongoDB初级使用记录

安装路径不要有中文!!

打开数据库后

输入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

点击以下红框部分进行配置

你可能感兴趣的:(MongoDB初级使用记录)