美文网首页
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