mongo shell 之集合&文档 插入&删除

来源:互联网 发布:linux命令 chmod 编辑:程序博客网 时间:2024/05/18 11:02

    mongo shell 中对文档的插入和删除的操作是比较简单的


一 集合的创建&删除:

       mongo shell 中并没有直接创建集合的api ,而是当插入文档的时候,如果集合不存在,自动创建. 创建集合的时候,数据库中会新增一个collection-x.txt 的二进制数据库文件

      1. 默认dbpath 目录中只有一个集合二进制文件,为 local 数据库中的

      

    

      2. 创建新的集合: //数据库中会新建一个collection-x.wt 的二进制文件,具体文件名可以通过db.[collection].stats() 查看,文件为"wiredTige.uri" 的值

     


      3. 查看dbpath 目录下的集合文件:dbpath 目录中新增一个集合的二进制文件

       


      4. 删除集合: db.[collection].drop()  //删除的集合的时候,会将数据库中的二进制文件删除

       


      5. 查看dbpath 目录下的集合文件:

      


二  文档的插入 & 删除:

    1. 文件的插入:    

        1. 插入方法:  db.[collection].insert(document)

           插入的时候如果_id 已经存在,那么会报错,因为主键_id 是唯一索引

          


       2. 插入或更新: db.[collection].save(document)

           当主键_id 相同时会实现更新的操作

          


     3. 批量更新: mongoshell 中并没有提供批量插入的API, mongo shell 中可使用js 的for 循环实现

       


    2. 文档删除:

       1. 根据条件删除: db.[collection].remove({查询器})

          

     2. 清空数据: db.[collection].remove({})

        此种方式,不会删除此集合的索引,也不会删除该集合所在数据库中的二进制文件,所以在删除大数据的时候比较慢,

      

     3. 清楚大数据集合:

         在清除大数据量的集合的时候,使用db.[collection].remove({}) 方法是比较慢的, 可以先使用db.[collection].drop() 先删除集合,然后再重新创建索引来实现, 效率更高

         此种方式会删除数据库中该集合的二进制文件,然后再新建一个文件所以比较快

1 0
原创粉丝点击