简介 目录 评价 推荐
  • 熊手拉猫手 2023-11-24

    什么时候分片:

      - 数据量过大,单机备份恢复过久

      - 副本集满足不了高并发写入 (一般情况下副本集够用)

    分片特点:

      - 对应用透明 ;数据自动平衡 ;支持动态扩容

    ---------------------

    后面详细介绍了副本集合创建的命令,再 linux 下敲命令展示

    0赞 · 0采集
  • 熊手拉猫手 2023-11-24

    副本集架构:

    Primary(主) -> Secondary(副) -> Arbiter(心跳,选举) -> Primary

    原理:主节点变化记录在 uplog 中,更新到副节点,由一个线程持续监听

    --------------

    演示: use 副节点数据库xx,看到里面没有数据

    use 主节点,写入数据 ,再到副节点查询  

    在副节点查询时要执行 rs.secondaryok() 表示允许查询副节点

    再查副节点看到数据已经写入了

    0赞 · 0采集
  • 熊手拉猫手 2023-11-24

    mongodb 数据目录:

     - 用linux 命令  ll 能看到 collection-*.wt  能看到文档文件

     - index-*.wt  能看到索引文件  

     - sizeStorer.wt 为容量信息



    JSON  k-v

    BSON 类似 JSON 的紧凑型 JSON 二进制 

    (将元素长度存储在头部,能加快检索速度)

    0赞 · 0采集
  • 熊手拉猫手 2023-11-24

    演示了使用 go 语言进行 crud 操作:

    操作的的返回为两个对象:结果对象,err对象

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    使用 go 语言环境进行 crud 操作

     1. 连接到要操作的库和集合

       collection := client.Database("martin").Collection("insertonetest")

     2. 写入数据

       insertOneResult ,err:=collection.InsertOne(ctx, bson.M{"name":"xx","gender":"1"})

       //返回的 err 表示是否成功

       //返回的 insertOneResult  表示执行结果

       

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    用 go 语言操作 mongoDB 

    1. 安装 go 语言安装包 

    2. 安装 编译器 GoLand 

    GOPROXY=https://guo (国内代理地址)


    赋值:基本语法用 % 来代替变量值,输出:Print Printf Println

    (后面写了个利用 time.Sleep 实现倒计时的例子)

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    db.setProfilingLevel(1,100)

    1表示开启慢查询, 100表示超过100为慢查询

    db.setProfilingLevel(0)  关闭慢查询


    db.getProfilingLevel()   查看是否开启慢查询 (1表示已开启,会将慢查询语句写入系统)


    造一条慢查询语句:

      1.先插入数据 for(var i=1 ; i<=30000 ; i++)

      2.再用 find 命令查询靠后面几位的数据


    执行:  db.system.profile.find()  可以看到已经记录到慢查询里的语句

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    查看执行计划  .explain(true)

    在显示的 json 中看字段:

    "executionStats"

         "executionTimeMillis" :  x(扫描毫秒数)

         "totalDocsExamined"  :  x(扫描文档数)

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    创建索引 createIndex()  分升序索引和降序索引

    默认创建 b+树索引, 创建全文索引(text)

    创建哈希索引({"name":"text"}) 不支持范围和多键

    创建地理位置索引 2d   createIndex({"xx":"2d"})


    查询操作,用到地理位置索引 

    {$geoWithin: {$box :[[10,10],[20,20]] }}

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    查询升序   find().sort({"age":1})

    查询降序  find().sort({"age":-1})


    求平均值  

    aggregate ([{'$group' : {_id:'$class', 'avg_score': {'$avg' : '$score'} }} ])

    0赞 · 0采集
  • 熊手拉猫手 2023-11-22

    创建集合 createCollection 

    查看集合 show tables

    插入数据 save 或 insert  

    插入多行 insertMany


    直接查询 find  (默认20条,输入 it 翻页)

    条件查询 find({name:'xx'}) 

    删除查询 remove({name:'xx'})  


    条件查询 find({age: {$gt: 10}}) 

    条件查询 find({$or:[{"age":10} ,{"name","wang"} ] }) 

    0赞 · 0采集
  • 熊手拉猫手 2023-11-21

    无密码连接 直接输入 mongo ,有密码连接(先设置用户密码,重启mongo);

    选择数据库, insert数据,删除数据库;

    创建普通用户(只能修改查询)

    ----------------------

    客户端工具:compass  (我之前用的NoSQL Manager for MongoDB)

    0赞 · 0采集
  • 熊手拉猫手 2023-11-21

    database  数据库(每个数据库自己的集合权限,每个数据库存储在不同的文件)


    collection 相当于表 (同一个集合里可以插入不同结构不同类型的数据)


    document 相当于行(键值对,bson ,区分大小写,不能重复)


    field 


    index  索引


    primary key ( _id 自动生成 )

    0赞 · 1采集
  • 熊手拉猫手 2023-11-21

    在linux 上安装 mongodb

    0赞 · 0采集
  • 熊手拉猫手 2023-11-21

    适用场景:游戏,物流,社交  (半结构化的多变的数据)


    (中间部分报了一堆公司名称)


    技术场景:单表数据上亿,数据模型多变,地理位置

    0赞 · 0采集
  • 熊手拉猫手 2023-11-21

    文档数据库 ( BSON 格式存储文档,二进制json )

    高性能:热数据都在内存

    高可用:副本集,分片集群


    常用架构:单实例,副本集(一主一从),分片

    0赞 · 1采集
  • 熊手拉猫手 2023-11-21

    已读:列出大纲

    0赞 · 0采集
  • 熊手拉猫手 2023-11-21

    已读,解释什么叫数据库

    0赞 · 0采集
  • 网络侦探 2023-10-13

    省流笔记:


    1.身份认证:配置不同的用户、设置复杂密码

    2.权限控制:不同用户配置不同的权限、权限最小化

    3.网络隔离:MongoDB不开放外网、防火墙设置访问白名单

    0赞 · 0采集
  • 仧小张 2023-07-10

    mongodb创建用户名密码

    0赞 · 0采集
数据加载中...
开始学习 免费