MongoDB基础教程(一)

1。连接mongodb

cmd进入mongo/bin目录下,输入:

mongo

这里写图片描述

2。创建数据库

如果数据库不存在创建数据库,否则打开该数据库。

use 数据库名

EG:创建数据库runoob

 use runoob

创建并查看当前使用的数据库:
这里写图片描述

查看所有数据库:

show dbs

这里写图片描述

很显然,刚创建的数据库runoob并不在其中,要想显示,必须向数据库中插入一些数据
这里写图片描述

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

3。删除数据库

db.dropDatabase()

查看当前数据库为runoob; 删除当前数据库;查看已有数据库内该数据库已经被删除成功。
这里写图片描述

删除集合:

db.集合名.drop()

4。插入文档

使用insert()或者save()方法插入文档。

如果集合clo不存在则自动创建;查看已经插入的文档。

db.COLLECTION_NAME.insert(document)

这里写图片描述

将数据定义一个变量document,执行插入操作
这里写图片描述
这里写图片描述

插入文档也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。

5。修改文档

update()方法
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

参数介绍:

  • query : update的查询条件,类似sql update查询内where后面的。
  • update : update的对象和一些更新的操作符(如 , <script type="math/tex" id="MathJax-Element-30">,</script>inc…)等,也可以理解为sql update查询内set后面的
  • upsert :
    可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  • multi : 可选,mongodb
    默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

修改likes字段:
这里写图片描述

save()方法
db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:

  • document : 文档数据。
  • writeConcern :可选,抛出异常的级别。

替换id为:5a7aa751c0dd1fd67944c706的文档
这里写图片描述

6。删除文档

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档。
  • writeConcern :(可选)抛出异常的级别。

删除标题为test的文档
这里写图片描述

删除第一条数据

db.COLLECTION_NAME.deleteMany(DELETION_CRITERIA,1)

删除 status 等于 D 的一个文档:

db.col.deleteOne( { status: "D" } )

删除 status 等于 A 的全部文档:

db.col.deleteMany({ status : "A" })

删除所有数据

db.col.deleteMany({})

7。查询文档

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

查询文档以易读的方式读取数据:

db.col.find().pretty()

这里写图片描述


mongodb与关系型数据库的比较

这里写图片描述


AND条件
db.col.find({key1:value1, key2:value2}).pretty()

这里写图片描述
类似于where title="mongodb教程" and likes=100


OR条件
db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

这里写图片描述
类似于where likes=100 or title="111"


AND与OR联合使用

这里写图片描述
类似于where by="csdn" AND (likes = 100 OR title = '111')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟林洁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值