MongoDB入门基本操作命令
MongoDB入门
一. 基础概念
在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比:
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
数据记录行/文档
column
field
数据字段/域
index
index
索引
table joins
表连接(MongoDB不支持)
primary key
primary key
主键,MongoDB自动在每个集合中添加_id的主键
- 1、一个mongodb实例可以创建多个数据库
- 2、一个数据库可以创建多个集合
- 3、一个集合可以包括多个文档。
二. 数据库操作:命令行
首先的话,可以打开命令窗口去试试
用管理员打开cmd,然后跳到对应安装目录进行启动
查询全部数据库
show dbs
显示当前数据库
- 如果当前没有切换数据库,默认显示“test”
db
-创建/切换数据库
- 数据库存在则切换到此数据库,不存在则创建
- 注意:新创建的数据库不显示,需要至少包括一个集合。
use 数据库名称
删除数据库(慎用!!!)
db.dropDatabase()
三. 集合操作:命令行
集合相当于关系数据库中的表,一个数据库可以创建多个集合,一个集合是将相同类型的文档管理起来。
创建集合
db.createCollection(name, options)
name: 新创建的集合名称
options: 创建参数
删除集合
db.集合名称.drop()
use demo
show collections
db.student.drop()
显示集合
show collections
扩展:集合创建过程可以设置参数的
在demo数据库中,创建book集合,并限定最大文档数为3
- 参数capped: 如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。
- 参数size: 为固定集合指定一个最大值,以千字节计(KB)。如果 capped 为 true,必须指定size字段。
- 参数max: 指定固定集合中包含文档的最大数量。
use demo
db.createCollection("book", { capped: true,size: 1024 , max : 3 } )
三.文档操作
mongodb中文档的格式是json格式,下边就是一个文档,
包括两个key:_id主键和name
{
"_id" : ObjectId("5b2cc4bfa6a44812707739b5"),
"name" : "传智专修学院"
}
注意:
插入命令
- 每个文档默认以_id作为主键,主键默认类型为ObjectId(对象类型)
- mongodb会自动生成主键值。
db.集合名称.insert(document)
db.student.insert({"name":"张三","age":10})
查询命令
db.book.find()
db.book.find( {"age": 18} ) //一个条件
db.book.find( {"age": 18,"name":"张3"} ) //多条件
--- 查询 age 为 18 所有数据,仅显示name的值
db.book.find( {"age": 18} , {"name":1})
--- 查询所有数据,仅显示name的值
db.book.find( {} , {"name" : 1} );
更新文档
- 命令格式
db.collection.update(
<query>,
<update>,
<options>
)
query:查询条件,相当于sql语句的where
update:更新文档内容
options:选项
替换文档
-- 将符合条件 "name":"张三"的第一个文档替换为{"name":"张3","age":21}。
db.student.update({"name":"张三"},{"name":"张3","age":21})
-- 查询 age = 18 信息,将第一条替换 {name: 张三 }
db.book2.update({ "age": 18 },{ "name" : "张三" })
$set修改器
使用$set修改器指定要更新的key,key不存在则创建,存在则更新。
db.student.update({"name":"张3"},{$set: {"name":"张33"} })
db.student.update({"name":"张33"},{$set: {"sex":"男"} })
multi替换所有
- multi:false表示更新第一个匹配的文档,true表示更新所有匹配的文档。
db.student.update({"name":"张三"},{$set:{ "age":15}},{multi:true})
四.删除文档
db.集合名称.remove(<query>)
query:删除条件,相当于sql语句中的where
删除符合条件的文档
db.student.remove({"name":"张33"})
通过id删除
db.student.remove({"_id" : ObjectId("5edcfb4cb7376427b4111714")})
删除所有文档
db.student.remove({})
五. 用户操作:命令行
创建用户
- 语法格式:
db.createUser({
user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
})
-- 创建root用户,角色为rootuse admin
db.createUser({
user:"root",
pwd:"root",
roles:[{role:"root",db:"admin"}]
})
- 内置角色
角色分类
取值
描述
超级用户角色
root
数据库用户角色
read
readWrite
数据库管理角色
dbAdmin
dbOwner
userAdmin
集群管理角色
clusterAdmin
clusterManager
hostManager
clusterMonitor
备份恢复角色
backup
restore
所有数据库角色
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
查询用户
- 查询当前库下的所有用户
show users
修改用户
- 语法格式
"<username>",
{
customData : { <any information> },
roles : [
{ role: "<role>", db: "<database>" } | "<role>",
...
],
pwd: "<cleartext password>"
},
writeConcern: { <write concern> }
)
-- 修改root用户的角色为readWriteAnyDatabase
use admin
db.updateUser("root",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]})
.修改密码
- 语法格式
db.changeUserPassword("username","newPasswd")
-- 修改root用户的密码为1234
use admin
db.changeUserPassword("root","1234")
删除用户
- 语法格式:
db.dropUser("用户名")
看完恭喜你,又知道了一点点!!!
你知道的越多,不知道的越多!
~感谢志同道合的你阅读, 你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!
以上是 MongoDB入门基本操作命令 的全部内容, 来源链接: utcz.com/z/534139.html