mongodb java 命令大全,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,然后跳到对应安装目录进行启动

c1f99bddfeed4ba502f496d2f78509e8.png

查询全部数据库

show dbs

9f92eb87a9396c4a0fa8e154b0b46f4b.png

显示当前数据库

如果当前没有切换数据库,默认显示“test”

db

424efea55e7bc775faa20bd3939d7e96.png

-创建/切换数据库

数据库存在则切换到此数据库,不存在则创建

注意:新创建的数据库不显示,需要至少包括一个集合。

use 数据库名称

b8d292aaf9c12494092996bc5ed920fd.png

删除数据库(慎用!!!)

db.dropDatabase()

3b30f52d1d304d077fe977c963e4b84d.png

三. 集合操作:命令行

集合相当于关系数据库中的表,一个数据库可以创建多个集合,一个集合是将相同类型的文档管理起来。

创建集合

db.createCollection(name, options)

name: 新创建的集合名称

options: 创建参数

b3649180c64e021d1a127a4b50e3ac2c.png

删除集合

db.集合名称.drop()

34c379c4089200af06de4ca81ebd1432.png

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 } )

ae5953356381b9c5a803aa3c9c74568b.png

三.文档操作

mongodb中文档的格式是json格式,下边就是一个文档,

包括两个key:_id主键和name

{

"_id" : ObjectId("5b2cc4bfa6a44812707739b5"),

"name" : "传智专修学院"

}

注意:

34965f7e19d2c7c92acfd0b4bfe289f4.png

插入命令

每个文档默认以_id作为主键,主键默认类型为ObjectId(对象类型)

mongodb会自动生成主键值。

db.集合名称.insert(document)

a6997271de9d393d9e7e8bc635ee4d3d.png

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} );

e63cb1cc268c6f7751253c98800c2263.png

7ba0e954e592984f40ec60abd7a30889.png

10b5cb7d54ec7ff908c1f2d9c5d16f47.png

更新文档

命令格式

db.collection.update(

,

,

)

query:查询条件,相当于sql语句的where

update:更新文档内容

options:选项

替换文档

-- 将符合条件 "name":"张三"的第一个文档替换为{"name":"张3","age":21}。

db.student.update({"name":"张三"},{"name":"张3","age":21})

62079c2a1ac4d32e6bb1e189cc2093aa.png

-- 查询 age = 18 信息,将第一条替换  {name: 张三 }

db.book2.update({ "age": 18 },{ "name" : "张三" })

0eea8939b3de55d626eb0cfd4c0d0911.png

$set修改器

使用$set修改器指定要更新的key,key不存在则创建,存在则更新。

db.student.update({"name":"张3"},{$set: {"name":"张33"} })

09ef18f15badd12ea4bf3d192a08617e.png

db.student.update({"name":"张33"},{$set: {"sex":"男"} })

3e4bfbc41f795acba4ad0ecc0c79cac5.png

multi替换所有

multi:false表示更新第一个匹配的文档,true表示更新所有匹配的文档。

db.student.update({"name":"张三"},{$set:{ "age":15}},{multi:true})

4a7af146befd2ef6115b0a8503e30288.png

四.删除文档

db.集合名称.remove()

query:删除条件,相当于sql语句中的where

删除符合条件的文档

db.student.remove({"name":"张33"})

ca8dc2631cbccf6b25d234432cbf2c51.png

通过id删除

db.student.remove({"_id" : ObjectId("5edcfb4cb7376427b4111714")})

096190d26f5971ce0c7b5141ab612616.png

删除所有文档

db.student.remove({})

ffce350f48858b67e663dbf78caa66f6.png

五. 用户操作:命令行

创建用户

语法格式:

db.createUser({

user: "",

pwd: "",

customData: { },

roles: [

{ role: "", db: "" } | "",

...

]

})

-- 创建root用户,角色为root

use 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

51166334e0b3c313125021bf1d424507.png

修改用户

语法格式

db.updateUser(

"",

{

customData : { },

roles : [

{ role: "", db: "" } | "",

...

],

pwd: ""

},

writeConcern: { }

)

-- 修改root用户的角色为readWriteAnyDatabase

use admin

db.updateUser("root",{roles:[{role:"readWriteAnyDatabase",db:"admin"}]})

b45ff630b5f668d270567525b1aacc8f.png

.修改密码

语法格式

db.changeUserPassword("username","newPasswd")

-- 修改root用户的密码为1234

use admin

db.changeUserPassword("root","1234")

删除用户

语法格式:

db.dropUser("用户名")

a03228827fd9117450e5c9760ef4c2d5.png

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多!

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 !加油 ,陌生人一起努力,共勉!!

​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值