美文网首页
2018-09-21 mongoDB

2018-09-21 mongoDB

作者: X秀秀 | 来源:发表于2018-09-21 11:52 被阅读0次


    mongoDB是一个数据库 它是介于关系与非关系之间的数据库。

    关系        sql  语言

    关系数据库遵循ACID规则:

    Atomicity原子性     

    Consistency一致性      如:a+b=10;a变b也要变

    Isolation独立性 

    Durability持久性    会永久保存保存数据库

    reolis     

    非关系   

    数据库:存储 数据的 仓库

    分类:

    1 关系型数据库  :表格

    mysql  oracle  sqlsever

    二维表格

    用户基本信息表

    |id | name | age |sf|

    | 1 |gao  |18  |lsoshi|

    | 2 | wang  | 21  |      |

    主键

    一年级成绩表

    |id|el|cn |sx|ids|

    |1 |10|100|30|1 |

    |2 |10|100|30|2  |

        外键

    二年级成绩表

    |id|el|cn |sx|ids|

    |1 |10|100|30|1 |

    |2 |10|100|30|2  |

          外键

    sql 语言 selsct name from 表名

    一对一

    一对多

    2 非关系型数据库 :  document文档格式,.json --数据库

    1、(mongod --dbpath c:/data/db)

    2、 mongo

    mongodb

    stu .json --数据库      集合 --- 文档

    { "user":[

      {"name":"gao","age":18,"sf":"laoshi"},

      {"name":"wang","age":21}

    ]

    },

    { "laoshi":[

      {"name":"gao","age":18,"sf":"laoshi"},

      {"name":"wang","age":21}

    ]

    }

    分布式系统:  由多台计算机和通信的软件通过计算机网络连接组成

    分布式计算缺点:故障排除  软件    网络  安全性

    区别:

    1、关系型数据库  可以看做事 二维表格

          非关系型数据库      document文档格式,  json数据格式

    2、关系型数据库 不方便扩展

          非关系型    方便扩展

    3、 关系型数据库 可以通过  sql 语言操作 可支持 复杂查询

          非关系型    通过 对象的方式操作   

    4、非关系 简单方便

    存储方式 : 分布式文件存储

    port 27017

    c++ 写的底层

    \\

    数据库 ---集合 --- 文档

    database ---collection  ---document

    命令:

    db.help()      帮助

    show dbs        查看有哪些数据库

    use  数据库名  如果有 使用 /如果没有 创建

    db.dropDatabase 删除的数据库(当前)

    db.createCollection('集合名')  创建集合

    db.集合名.drop() 删除当前集合

    show collections 查看集合

    db.集合名.insert(json格式数据)  插入文档

    db.集合名.insertOne({"a": 3}) 插入一行

    db.集合名.insertMany([文档,文档]) 插入多条

    db.集合名.find() 查询文档

    db.xuesheng.find({"n":"li","a":12}) and

    db.xuesheng.find({$or:[{"n":"li"},{"a":190}]})  or

    db.集合名.update(条件,{$set:新值}) 修改

    db.xuesheng.update({"name":"zhao"},{$unset:{"age":"34"}}) 修改

    db.集合名.remove(条件)({“id”:“1”}) 删除

    remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

    db.集合名.find().pretty()        查询文档 命令行 json 展开显示

    db.集合名.find({键名:{条件修饰符 : 值}})

        大于  gt

    小于  lt

    等于  et

    不等于net

    删除数据库 

    条件修饰符

    $gt  >      $lt  <

    $eq  = $ne  !=

    $gte >= $lte  <=

    save() 方法通过传入的文档来替换已有文档

    > db.xuesheng.save({ "_id" : ObjectId("5ad062acc9177f6d0dd541e1"), "name" : "zsssssss" })

    3.2 之后新增

    db.collection.updateOne() 向指定集合更新单个文档

    db.collection.updateMany() 向指定集合更新多个文档

    $type 操作符

    Double 1

    String 2

    Object 3

    Array 4

    Boolean 8

    Date 9

    Null 10

    db.集合名.find({"a":{$type:1}})

    查询 几条

    db.集合名.find().limit(3)

    db.xuesheng.find().skip(2)  //跳过俩条

    db.xuesheng.find().skip(2).limit(2) //跳过俩条显示俩条

    排序

    > db.xuesheng.find().sort({"要排序的键名":-1})  //-1 从大到小  1 从小到大

    Mongooose中  三个概念:

    Schema    Model  Document

    文件上传

    1 input 的type="file"

    2  修改form  enctype

    application/x-www-form-urlencoded    ?name

    multipart/from-data

    text/plain    空格转为+号,

    3  methosd  post

    相关文章

      网友评论

          本文标题:2018-09-21 mongoDB

          本文链接:https://www.haomeiwen.com/subject/rseanftx.html