文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MongoDB入门基本操作命令

2021-01-29 01:50

关注

MongoDB入门基本操作命令

一. 基础概念

在mongodb中是通过数据库、集合、文档的方式来管理数据,下边是mongodb与关系数据库的一些概念对比:

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

index

index

索引

table joins

 

表连接(MongoDB不支持)

primary key

primary key

主键,MongoDB自动在每个集合中添加_id的主键

 

 

二. 数据库操作:命令行

首先的话,可以打开命令窗口去试试

用管理员打开cmd,然后跳到对应安装目录进行启动

 

show dbs

 

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" : "传智专修学院"

}

 

注意:

 

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:查询条件,相当于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" : "张三" })

 

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

 

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

 

 

 

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

 

 

四.删除文档

db.集合名称.remove()

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

 

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

 

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

 

db.student.remove({})

 

 

五. 用户操作:命令行

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

 

 

db.updateUser(
"",
{
    customData : { },
    roles : [
        { role: "", db: "" } | "",
        ...
    ],
    pwd: ""
},
writeConcern: { }
)

 

-- 修改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("用户名")

 

 

 

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

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

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

​​​​​​​

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯