• <二>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 :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

  • 相关阅读:
    imac 截图

    [Python] 安装及环境配置
    冒泡算法
    [转载]分页+双向排序(jquery + ashx)
    【转载】jQuery最佳实践
    【转载】星级评分jQuery插件
    ie浏览器模式判断语句
    jQuery面向对象定制业务框架开发
    【转载】jQuery设计思想
  • 原文地址:https://www.cnblogs.com/choii/p/16366566.html
Copyright © 2020-2023  润新知