mongodb学习(一)——简介和基本操作

简介

  • MongoDB 是一个基于分布式文件存储的数据库

  • 属于NoSQL数据库,是介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的

  • 旨在为WEB应用提供可扩展的高性能数据存储解决方案

  • 数据结构: 键值对(key-value),类似JSON对象

    {
      name:'Paul',
      age:21,
      gender:'man'
    }
    

NoSQL

  • NoSQL = Not Only SQL,不仅仅是SQL

  • 关系型数据库的特点:ACID规则

    • A (Atomicity) 原子性

    事务里的所有操作要么全部做完,要么都不做

    • C (Consistency) 一致性

    数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束

    • I (Isolation) 独立性

    事务之间不会互相影响

    • D (Durability) 持久性

    事务提交后,它所做的修改将会永久的保存在数据库上

  • 没有预定义的模式

  • 键-值对存储,列存储,文档存储,图形数据

  • 高性能,高可用性和可伸缩性

      {
          name:'Paul',
          age:21,
          gender:'man',
          address:{
              province:'山东',
              city:'济南'
          }
      }
    

基本操作

  • 创建数据库

    use database_name
    

如果数据库存在,则进入指定数据库,否则,创建数据库
此时需要写入数据,数据库才能真正创建成功

  • 查看所有数据库

      show databases | dbs
    
  • 创建集合

      db.createCollection(collection_name)
    
  • 删除数据库
    先进入要删除的数据库,然后执行命令

      db.dropDatabase()
    
  • 删除集合

    db.collection_name.drop()
    
  • db.collection_name.insert(document)
    

    exp:

      db.students.insert({
      name:'James',
      age: 32,
      gender:'man',
      career:'player'
      })
    
  •   db.collection.find(<query>,<projection>)
      - query: 查询条件
      - projection: 投影操作
    

    exp:

      db.students.find()
    
  • db.collection.updateOne(<query>,<update>) // 更新第一个符合条件的集合
    db.collection.updateMany(<query>,<update>)  // 更新所有符合条件的集合
    
    - query: 查询条件
    - update: 更新的内容
    

    exp:

      db.students.update({name:'James'},{$set:{gender:'woman'}})
    
  • db.collection_name.deleteOne(<query>) // 删除第一个符合条件的集合
    db.collection_name.deleteMany(<query>) // 删除所有符合条件的集合
    

    exp:

      db.students.deleteOne({name:'James'})
    
posted @ 2018-08-26 15:33  zxhyJack  阅读(129)  评论(0编辑  收藏  举报