美文网首页
Mongodb 学习笔记(一)

Mongodb 学习笔记(一)

作者: 我的小鱼干去哪儿了 | 来源:发表于2019-01-03 22:05 被阅读0次

    一、 NoSQL数据库

    KV型数据库(key/value)

    • Redis, Memcached

    文档数据库

    1. Mongodb, 文档数据库, 存储的是文档(Bson->Json的二进制)

    Mongodb 内部执行引擎为Js解释器, 把文档存储成bson结构,在查询时转换为js对象, 并通过熟练的js语法进行操作.

    mongo内部执行流程.png
    1. mongo与传统数据库相比,最大的不同
    • 传统型数据库: 结构化数据库,定义好表结构后,每一行的内容,必是符合表结构的,列的个数,类型都一致
    • mongodb 文档型数据库: 表下的每篇文档都可以有自己独特的结构(json对象都可以有自己独特的属性和值)
    mongodb与传统型数据库的不同.png

    举例: 如果有电影、影评、影评的回复, 在传统型数据库中至少需要四张表,关联非常复杂,
    在文档型数据库中,通过一篇文档即可完成,体现出文档型数据库的反范式化
    {
    film:"赌王",
    comment:[
    {
    content: "影评1",
    reply:["好", "不错"]
    }
    ]
    }

    二、 MongoDB的安装

    1. 下载mongodb, 线上使用,最好下载最新的stable版
    2. 解压文件
    3. 不用编译,本身就是编译后的可执行二进制文件
    image.png
    1. 启动mongod服务
      ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017
    • 参数解析
      --dbpath 数据存储目录
      --logpath 日志存储目录
      --port 运行端口(默认27017)
      --fork 以后台进程运行mongod, 日志输出到日志文件里,而不是控制台
    1. mongodb非常的占磁盘空间, 刚启动后要占3~4G 左右
      如果使用虚拟机练习,磁盘空间不够,则无法启动
      可以用 --smallfiles来启动,将会占用较小的空间,400M左右.

    三、MongoDB的基本命令

    1. 入门命令
    • show databases/dbs 查看当前的数据库
    • show tables/collections 查看当前库下的collection
    • use databaseName; 选库
    • db.help() 查看命令帮助
    1. 创建一个库
    • mongodb下的库是隐式创建的,你可以use 一个不存在的库,然后在该库下创建collection,即可创建库
    1. db.createCollection(collectionName)
      创建collection

    4.collection允许隐式创建
    db.collectionName.insert(document);

    db.user.insert({name:"lisi",age:22})

    1. 删除collection
      db.collectionName.drop()

    6.删除库
    db.dropDatabase()

    相关文章

      网友评论

          本文标题:Mongodb 学习笔记(一)

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