<二>MongoDb基本操作

一、基本概念

mongodb有三个概念

  • 数据库(database)数据库是一个仓库,在仓库中可以存放集合。
  • 集合(collection)集合类似于数组,在集合中可以存放文档。
  • 文档(document)文档数据库中的最小单位,我们存储和操作的内容都是文档。

就是说在mongodb中一条数据就是一个文档,多个文档组成集合,多个集合组成数据库。如下:

 二、基本指令

1、安装robo 3t  作为数据库可视化工具,详情我就不说了

1、数据库操作

  • show dbs 显示所有的数据库
  • use 数据库名

  1. 使用use时,如果数据库存在则会进入到相应的数据库,如果不存在,当对数据库执行插入文档的时候会自动创建

  2. 一旦进入数据库,则可以使用db来引用当前库

  • show db.collections  显示当前数据库的所有集合

  • db.createCollection()使用create时创建一个新的集合

  • db.<collectionname>.drop()    使用drop时删除集合

 

2、文档的操作

  • 插入文档 

 1、db.<collectionname>.insert (文档) 可以向集合中添加一个或者多个文档,插入时每个文档会生成一个唯一的标识id.如果集合不存在则会自动创建。若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数

db.<collectionname>.insert (
<document>
)

2、db.<collectionname>.save(文档)如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.replaceOne() 来代替。

db.collectionname.replaceOne(
   <document>,     //匹配文档
    <document>     //需要更新的文档
)

 3、db.collection.insertMany() 批量插入数据

db.collectionname.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)
>>document:要写入的文档。
>>writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
>>ordered:指定是否按顺序写入,默认 true,按顺序写入。

  • 修改文档  db.<collectionname>.update ()   

db.collectionname.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
>>query : update的查询条件,类似sql update查询内where后面的。
>>update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
>>upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
>>multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
>>writeConcern :可选,抛出异常的级别。

  • 删除文档  db.<collectionname>.remove(文档)  移除指定文档对象,移除后不可撤销

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
>>query :(可选)删除的文档的条件。
>>justOne : (可选)如果设为 true1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
>>writeConcern :(可选)抛出异常的级别。

  • 查询文档  db.<collectionname>.find()    pretty()以格式化的方式输出

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

 

posted @ 2022-06-11 19:07  许轩霖  阅读(77)  评论(0编辑  收藏  举报