MongoDB 学习记录1

1 MongoDB 是什么

非关系型数据库,非key-val nosql,介于sql和no-sql之间的面向文档的数据库。MongoDB是工作在集合和文档上一种概念,可以简单理解为laravel 的 collect,单比它强大,支持索引,不支持事务,可保证单次操作的原子性,但不能保证多次同时操作的原子性,比如说减库存。

2 MongoDB的数据结构

假如一篇文章有标签,有评论,mysql的话需要三张表 Post Comment Tag

对于MongoDB 来书,它是用集合表示的比如 相当于表结构

{
    title:'',
    tags:[],
    comments:[
        {},
        {}
    ]
}

3 创建数据库

use DATABASE_NAME

DATABASE_NAME 如果存在则切换到当前的上下文中,否则创建

db 查看当前选择的数据库

4 删除数据库

切换到要删除的数据库的上下文中,请谨慎操作

db.dropDatabase()

5 创建一个集合(类似于mysql的表结构,也可以不事先创建)

db.createCollection("mycollection")

有几个值可对该集合进行配置

  • capped 是否设定大小
  • autoIndexId 是否创建索引
  • size 集合的大小
  • max 集合最大的文档数(应该是最多有多少条数据)
db.createCollection("mycol", {capped : true, autoIndexId : true, size : 6142800, max : 10000 })

插入数据时自动创建集合

db.newcollection.insert({"name" : "yiibaitutorials"})

查看创建的集合

show collections

6 删除集合

db.COLLECTION_NAME.drop()

Posted in MongoDB, 后端 on Sep 05, 2019

请登录 登录 评论!