MongoDB学习之路

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27416233/article/details/80179736

MongoDB学习笔记(2)

    今天老大给分配了一个任务,让我将已经整理好的数据封装到MongoDB里面还给我了一个MongoDB的可视化工具Robo 3T,讲真的第一次知道
MongoDB还有可视化工具,颠覆了我那种一开始学习MongoDB的热情,因为感觉敲着DO窗口酷酷的~,以前也用过MongoDB但大多时候都是哪里不会
查那里,结果很快就忘记了,可能是因为长时间不用的原因,现在,我还是整理下MongoDB的主要操作,为了以后方便查询,也方便其他人来查资
料。

MongoDB的优点

  • 非关系型数据库
  • 分布式数据库
  • 扩展灵活,结构灵活,并且支持查询和索引

MongoDB的缺点

  • 缺乏事务控制
  • 无法保障数据完整性

下面我们来举个例子,来说明MongoDB(非关系型数据库)与Oracle(关系型数据库的差别)

结构上面的差别

1. Oracle的存储结构

从这个图中我们能够得出以下结论

  • 1 Oracle是分用户空间的
  • 2 每个用户都有自己独有的数据库
  • 3 操作的单元为表

2. MongoDB的存储结构

从这个图中我们能够得出以下结论

  • 1 MongoDB不分工作空间
  • 2 只有一个用户
  • 3 有自己独有的库
  • 4 操作的单元为集合

MongoDB命令

  • . 1 库命令

    • 查看

      show dbs  
      
    • 使用

      use 库名称
      
    • 创建

      use 库名称 // 当库名称存在的时候就是用,不存在就创建
      
    • 删除

      db.dropDatabase() // 删除当前使用的库
      
  • . 2 集合

    • 查看

      show collections 
      
    • 创建 -

      当使用'db.集合名.insert()'插入数据的时候,集合不存在会自动创建
      
    • 删除

      db.集合名.drop()
      
  • . 3 数据操作

    • 插入

      插入单条数据

      db.dept.insert({"no":1,"dname":"beijing"})
      

      插入多条数据

      var objs = ({"no":3,"dname":"chengdu"},{"no":4,"dname":"shenyang"}) 
      db.dept.insert(objs);
      

      或者

      for(var i = 1; i < 10; i++) {
          db.dept.insert({"no":10+i,"dname":"bj"+i})
      }
      
    • 删除

      删除单条记录

      db.dept.remove({"no":1});
      

      删除所有记录

      db.dept.remove({});
      
    • 修改

      全部更新覆盖

      db.dept.update({"no":1},{"dname":"shanghai"})
      

      部分更新

      db.dept.update(条件json对象,{$set:要更新的json对象})
      // 示例
      db.dept.update({"no":1},{$set:{"dname":"chengdu"}})
      
    • 查询

      g t lt, g t e lte,$ne 等

      查询所有记录

      db.dept.find()
      

      查询某条记录,no > 1的记录

      db.dept.find({"no":{$gt:1}})
      db.dept.find({"no":{$gte:2}})
      

      排序

      db.dept.find().sort({"no":1})
      

      1表示升序,-1表示降序

      分页

      //跳过degin条,然后抓取记录(包含头)
      db.dept.find().skip(begin).limit(记录数);
      
    • 统计

      统计所有记录数量

      db.dept.count();
      

      统计满足条件记录数

      db.dept.count({"no":11})
      db.dept.count({"no":{&gt:10}})
      

下一讲说Java访问MongoDB

猜你喜欢

转载自blog.csdn.net/qq_27416233/article/details/80179736