MongoDB常用命令

MongoDB的常用命令

数据库
  1. 创建数据库

    use DATABASE_NAEM
    

    如果数据库不存在,则创建数据库,否则切换到指定的数据库中

image-20230331141005252

  1. 查看所有库

    show dbs
    

    image-20230331141122932

    如果我想要显示它,需要想runoob数据库中插入一些数据

    db.runoob.insert(
        {"name":"mongodb数据库",}
        )
    

    image-20230331141315801

注意:

MongoDB中默认的数据库为test,如果你没有创建新的数据库,集合将会存放在test数据库中

  1. 删除数据库

    db.dropDatabase()
    删除当前数据库
    

    可使用db命令查看当前数据库名称

    image-20230331141721459

集合

类似于mysql中的表格

  1. 创建集合

    语法:

    db.createCollection(name,options)
    参数说明:
    name:要创建的集合名称
    options:可选参数,指定有关内存大小,和索引的选项
    

​ options参数:
image-20230331142516811
image-20230331142424079

image-20230331143022218

  1. 查看集合

    show collections
    show tables
    这两种方式都可查看数据库中的集合
    
  2. 删除集合

    db.collection.drop()
    说明:
    collection:指的是集合名称
    返回值:
    如果成功删除集合,则drop()方法返回true,否则返回false
    

    删除mycol集合

image-20230331143337675

文档
插入文档

创建/插入操作会将新文档添加到集合中,如果该集合不存在,则插入操作将会创建该集合

  1. 向集合中插入一条文档数据

    db.collection.insertOne(
       <document>,
       {
          writeConcern: <document>
       }
    )
    说明:
    document:要插入集合中的文档
    writeConcern:可选;写入策略,默认为1,即要求确认写操作,0是不要求
    

向runoob中插入一条数据


document={"dep_id":"T23001","dep_name":"信息管理学院","master_name":"艾娥儿","slogan":"hahahh"}
db.runoob.insertOne(document
)

image-20230331151433699

  1. 向集合中插入多条文档数据

    db.collection.insertMany()
    
    document=  [{"site":"www.baidu.com"},
    {"site":"www.google.com","name":"Google"},
        {"site":"www.runoob.com","name":"菜鸟教程","num":5}]
    db.runoob.insertMany(
      document
        )
    

    image-20230331153100570

    1. 查看集合中的文档

      db.runoob.find()
      

      image-20230331153229838

更新文档
  1. 更新一条

    db.collection.updateOne({“key1”:“val”},{$set:{“key1”:“val11111”}})
    
  2. 更新多条

    db.collection.updateMany()
    
  3. 替换一条

    db.collection.replaceOne()
    

更新操作符说明

$set     {$set:{field:value}}          指定一个键并更新值,若键不存在则创建
$unset   {$unset:{field:1}}            删除一个键
$inc     {$inc:{field:value}}          对数值类型进行增减
$push    {$push:{field:value_arry}}    将数值追加到数组中,若数组不存在则会进行初始化
$pushAll {$pushAll:{field:value_arry}} 追加多个值到一个数组字段内
$pull    {$pull:{field:_value}}        从数组中删除指定的元素
$addToSet  {$addToSet:{field:value}}   添加元素到数组中,具有排重功能
$pop     {$pop:{field:1}}              删除数组的第一个或者最后一个元素
删除文档

删除集合中的文档

# 方法1
db.collection.deleteMany()
# 方法2
db.collection.deleteOne()

删除status等于A的一个文档

image-20230331161934522

删除status等于D的全部文档

image-20230331161835545

查询文档

使用find()查询文档

find()方法以非结构化的方式显示所有文档

语法:

db.collection.find(query,projection)
说明:
query:可选,使用查询操作符查询执行的条件
projection:使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

查看inventory中的文档:db.inventory.find()

image-20230331163614197

结构化查询:

pretty():以格式化的方式显示所有文档

db.inventory.find().pretty()

image-20230331163702621

逻辑运算符
操作格式
等于{:}
小于{:{$lt:}}
小于或等于{:{$lte:}}
大于{:{$gt:}}
大于或等于{:{$gte:}}
不等于{:{$ne:}}
# 查询status等于D的数据
db.inventory.find({"status":"D"}).pretty()
等价于:SELECT * FROM inventory WHERE status = "D"

image-20230331164400256

# 查询qty小于75
db.inventory.find({"qty":{$lt:75}}).pretty()
查询qty小于等于75
db.inventory.find({"qty":{$lte:75}}).pretty()
查询qty大于75
db.inventory.find({"qty":{gt:75}}).pretty()
查询qty小于等于75
db.inventory.find({"qty":{$gte:75}}).pretty()
查询qty不等于75
db.inventory.find({"qty":{$ne:75}}).pretty()
条件运算
AND
db.collection.find({key1:value1,key2:value2}).pretty()

查看status为A,且item是“journal’'的数据

db.inventory.find({"status":"A","item":"journal"})

image-20230331170726230

OR

使用关键字$or

语法:
db.collection.find(
    {
        $or:[
            {key1:value1},{key2:value2}
        ]
    }
    )

查询status为D或者item为journal的数据

db.inventory.find( {$or:[ {"status":"D"}, {"item":"journal"} ]  }).pretty()

image-20230331172931399

AND和OR的使用

类似于where qty<=75 and (status="D"OR item="journal")

查询status为D或者item为journal,且qty<=75的数据

db.inventory.find( {"qty":{$lte:75},
        $or:[ {"status":"D"}, {"item":"journal"} ]  }).pretty()

image-20230331173344378

limit()和skip()
  1. limit()方法

limit()方法指从MongoDB中读取指定数量的数据记录

语法:

db.collection.find().limit(number)
说明:
number:指定从MongoDB中读取记录的条数

比如:

db.inventory.find().limit(2)
#读取两条

image-20230402102339071

  1. skip()方法

skip()方法来跳过指定数量的数据

语法:

db.collection.find().limit(number).skip(number)
说明:
number:跳过的记录条数
排序

在mongoDB中使用sort()对数据排序;其中使用1和-1来指定排序的方式。

1:升序

-1:降序

语法:

db.collection_name.find().sort({key:1})

比如:按qty升序显示

image-20230402103044289

聚合

主要用于处理数据(例如:统计平均值,求和等),并返回计算后的数结构

类似于SQL语句中的count(*)

aggregate()方法

语法:

db.collection_name.aggregate()

image-20230402111427613
聚合这里存在疑问?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值