MongoDB Shell操作(一)

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: MongoDB Shell操作(一)

1 数据库操作

       当新创建的数据库里没有插入数据时,并不会被查询到相应的信息,只有插入数据的数据库才会显示其相应的信息。

       在对某个数据库进行相关操作时,需先使用use命令选择执行该数据库。


     

#创建数据库myDB(use命令在数据库已存在时就是选择执行,否则就是创建)
use myDB
#查看数据库
show dbs
#选择执行myDB数据库
use myDB
#统计数据信息
db.stats()
#查看当前数据库下的所有集合
show collections
db.getCollectionNames()
#删除当前数据库
db.dropDatabase()

2 集合操作

🏅普通集合操作


#创建集合
db.createCollection("myCollection")  //显式创建myCollection
sb.stu.insert({name: "jack"})        //隐式创建stu
#查询集合
show collections
#查看集合的详细信息
db.getCollectionInfos()
#集合重命名
db.myCollection.renameCollection("myColl")
#查看集合统计信息
db.myCollecyion.stats()
#删除集合
db.myCollection.drop()

🏅定长集合操作


#定长集合的创建
db.createCollection("myCollection",{capped:true,size:3})
#判断集合是否为定长集合
db.myCollection.isCapped()
#普通集合转定长集合
db.runCommand({convertToCapped:"stu1",size:100})

3 文档操作

3.1 插入文档(insert|insertOne|insertMany)

#向stu集合插入一个文档
db.stu.insert({item: "card",qty: 15})
#向stu集合插入多个文档
db.stu.insert(
    [{item: "card",qty: 15},
    {item: "card1",qty: 16},
    {item: "card2",qty: 17}]
)
#使用变量方式插入多个文档
document=[{item: "card",qty: 15},{item: "card1",qty: 16},{item: "card2",qty: 17}]
db.stu.insert(document)
#insertOne只能用来一次插入一个文档
#insertMany可以用来一次插入多个文档
#具体用法与insert的一样

3.2插入、删除的循环操作

💥循环插入10条数据

for(var i=1,age=20;i<=10;i++,age++)db.stu.insert({name:"jack"+i,age:age})

image.png



💥将一个集合的数据插入到另一个新建集合

db.stu1.find().forEach(function(x)){db.stu2.insert(x);}


image.png


💥循环修改集合中的文档数据


for(var i=6;i<=10;i++)db.stu2.update({"name":["jack"+i,"tom"+i]},{$set:{"name":"tom"+i}})

image.png



3.2 删除文档(remove|deleteOne|deleteMany)

#删除stu数据库中满足条件的所有文档
db.stu.remove({条件})
#删除stu数据库中满足条件的一条文档
db.stu.remove({条件},justOne:true)
#删除stu集合下的所有文档
db.stu.deleteMany({})
#删除stu集合下的所有满足条件的文档
db.stu.deleteMany({条件})
#删除stu集合下的所有满足条件的一条文档
db.stu.deleteOne({条件})
3.3 更新文档(update|save)
db.集合名.update({条件},{$set:{字段名:修改后的值}})
#将stu集合中item为card的文档中qty值修改为35
db.stu.update(
    {item: "card"},
    {$set: {qty: 35}}
)
#save命令进行更新
db.stu.save({"_id": 10,item: "card",qty: 35})

save与update命令的区别:


save按_id进行匹配查找,修改的文档若存在就进行修改,若不存在则创建该文档并插入集合

update按条件匹配查找,修改的文档若存在就进行修改,若不存在则会抛异常


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
6月前
|
JSON NoSQL MongoDB
实时计算 Flink版产品使用合集之要将收集到的 MongoDB 数据映射成 JSON 对象而非按字段分割,该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
NoSQL Shell MongoDB
MongoDB Shell
10月更文挑战第11天
21 0
|
2月前
|
存储 NoSQL Shell
02 MongoDB数据类型、重要概念以及shell常用指令
文章详细解释了MongoDB中的数据类型、重要概念,并提供了常用的MongoDB Shell操作指令,帮助用户更好地管理和操作MongoDB数据库。
57 0
02 MongoDB数据类型、重要概念以及shell常用指令
|
4月前
|
DataWorks NoSQL fastjson
DataWorks操作报错合集之DataX进行MongoDB全量迁移的过程中,DataX的MongoDB Reader插件在初始化阶段找不到Fastjson 2.x版本的类库,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
存储 NoSQL Linux
【MongoDB】下载安装、指令操作
【MongoDB】下载安装、指令操作
181 1
|
5月前
|
分布式计算 DataWorks NoSQL
DataWorks操作报错合集之从MongoDB同步数据到MaxCompute(ODPS)时,出现报错,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
DataWorks操作报错合集之从MongoDB同步数据到MaxCompute(ODPS)时,出现报错,该怎么解决
|
5月前
|
存储 NoSQL 数据挖掘
深入探索MongoDB聚合操作:解析数据之美
深入探索MongoDB聚合操作:解析数据之美
200 1
|
5月前
|
NoSQL Shell MongoDB
python操作MongoDB部分
python操作MongoDB部分
37 0
|
5月前
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
45 0
|
5月前
|
NoSQL BI MongoDB
MongoDB 数据探索之道:查询文档操作详解
MongoDB 数据探索之道:查询文档操作详解