• Mongodb


    一、简介

    关系型数据库:e-r图,实体和实体之间存在1:1或者1:n或者n:m的关系

      mysql    orcale    sqlserver    access...

      缺点:1)存储在硬盘上  读写慢    2)保持ACID  难扩展

    非关系型数据库:NoSql(not only sql)

      key:value

      cap原则 -> BASE     分布式   

      cap原则只能两者取其二

        1)一致性  : 所有的节点在同一时间有相同的数据

        2)可用性 : 请求不论失败还是成功都有响应

        3)分隔容忍 : 信息的丢失或失败不影响系统的继续运作

      缺点:

        1)没有标准化

        2)有限的查询功能

    二、mongoDB

    1.1 概述

      1)非关系型数据库

      2)文档存储:类json格式

      3)有机会对字段建立索引,实现关系数据库

    1.2 使用

      1)运行mongo服务器

        mongod -dbpath xxx

      2) 连接MongoDB

        mongo

      3) 查看当前数据库

        show dbs

      4) 切换数据库

        use demo2

      5) 在数据库中插入一条数据

        db.demo2.insert({"name":"lisa"})

      6)删除数据库

        use demo2

        db.dropDatabase()

        show dbs

    1.2 集合

      1)创建集合

        db.createCollection('collection1')

      2) 查看已经创建的集合

        show collections

      3) 删除集合

        db.collection1.drop()

      4) 插入和查看

        插入文档时,mongodb自动创建集合

        db.collectionDemo.insert({"name":"hello"})

        查看插入的内容

        db.collectionDemo.find().pretty()

      5) 插入复杂文档

        document = ({

        title:'MongoDB',

        by:'RuotongYu',

        tags:['mongodb','database','NoSQL'],

        });

        db.collectionDemo.insert(document)

        db.collectionDemo.find().pretty()

      6) 修改文档 

        db.collection.update(        # 替换的是整条数据

        <query>,

        <update>,                   

        {

        upsert:<boolean>,         # 如果不存在update记录,是否插入,默认否

        multi:<boolean>,           # 把按条件查出来多条记录全部更新,默认否

        writeConcern:<document>     # 抛出异常的级别

        }

        )

        例子:

        db.col.update({'title':'MongoDB'},

        {'title':'MongoDB123'})

        修改多个文档

        db.col.update({'name':'MongoDB'},

        {$set{'title':'MongoDB123'}},

        {multi:true})

       7) 删除文档 

        删除多个

        db.col.remove({'name':'hello123'})

        删除一个文档

        db.col.remove({'name':'hello'},1)

       8) 修改操作符

        用法:{$inc:{field:value}}

        作用:对一个数字字段的某个field增加value

        示例:将name为xiaohong的学生的age增加5

        db.students.update({name:"xiaohong"},{$inc{age:5}})

        追加:{$push:{field,value}}

        作用:把value追加到field中

        示例:给chenzhou添加别名michael

        db.students.update({name:"chenzhou"},{$push:{"ailas":"Michael"}})   

        重命名:{$rename:{old_field_name:new_field_name}}

        作用:对字段进行重命名

        示例:把xiaohong记录的name字段重命名为hello

        db.student.update({name:"xiaohong"},{$rename:{"name":"name2"}})

  • 相关阅读:
    vue 实现表格导出Excel
    基于canvas绘制的,Vue 图形验证码组件
    screenfull.js实现全屏功能
    学习笔记-Python基础2-表达式和运算符
    PHP里对数据库增删改查操作
    学习笔记-Python基础1-变量命名和声明、数据类型
    PHP类中的$this、self、parent关键字使用总结
    移动端页面中,有时需要禁止用户滑动屏幕
    正则表达式总结
    input输入框限制各类输入总结
  • 原文地址:https://www.cnblogs.com/hd-test/p/11307938.html
Copyright © 2020-2023  润新知