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按条件匹配查找,修改的文档若存在就进行修改,若不存在则会抛异常


相关文章
|
6月前
|
NoSQL JavaScript Shell
微服务2——MongoDB单机部署2——Shell连接
本节介绍如何通过Shell连接MongoDB数据库,使用`mongo`命令登录,默认连接本地127.0.0.1的27017端口。可查看数据库列表(`show databases`),退出shell(`exit`),或通过`--help`获取更多参数。MongoDB Shell基于JavaScript解释器,支持运行JS程序。
163 0
|
存储 NoSQL Shell
02 MongoDB数据类型、重要概念以及shell常用指令
文章详细解释了MongoDB中的数据类型、重要概念,并提供了常用的MongoDB Shell操作指令,帮助用户更好地管理和操作MongoDB数据库。
160 0
02 MongoDB数据类型、重要概念以及shell常用指令
|
11月前
|
NoSQL Shell MongoDB
MongoDB Shell
10月更文挑战第11天
159 0
|
DataWorks NoSQL fastjson
DataWorks操作报错合集之DataX进行MongoDB全量迁移的过程中,DataX的MongoDB Reader插件在初始化阶段找不到Fastjson 2.x版本的类库,该怎么办
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
存储 NoSQL Linux
【MongoDB】下载安装、指令操作
【MongoDB】下载安装、指令操作
438 1
|
分布式计算 DataWorks NoSQL
DataWorks操作报错合集之从MongoDB同步数据到MaxCompute(ODPS)时,出现报错,该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
DataWorks操作报错合集之从MongoDB同步数据到MaxCompute(ODPS)时,出现报错,该怎么解决
|
存储 NoSQL 数据挖掘
深入探索MongoDB聚合操作:解析数据之美
深入探索MongoDB聚合操作:解析数据之美
370 1
|
NoSQL Shell MongoDB
python操作MongoDB部分
python操作MongoDB部分
100 0
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
153 0
|
NoSQL BI MongoDB
MongoDB 数据探索之道:查询文档操作详解
MongoDB 数据探索之道:查询文档操作详解
153 0

推荐镜像

更多