zoukankan      html  css  js  c++  java
  • 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'})
  • 相关阅读:
    从getaddrinfo看Glibc的nss
    跟踪一次网络发送
    Dwarf2结构在gcc中的应用及调试器实现分析
    scrapy基础教程
    leetcode题目清单
    机器学习——入门教程2
    机器学习——入门教程1
    C++ STL之vector用法总结
    Mac下用g++编译opencv程序报错
    Linux下环境变量设置
  • 原文地址:https://www.cnblogs.com/zxhyJack/p/9537567.html
Copyright © 2011-2022 走看看