zoukankan      html  css  js  c++  java
  • MongoDB(4)- Collection 集合相关

    Collection

    • MongoDB 将文档存储在集合中
    • 集合存储在 Database 中 
    • 集合类似于关系数据库(Mysql)中的表
    • 如果集合不存在,则 MongoDB 会在第一次存储该集合数据时创建该集合

    MongoDB 集合的命名规则

    集合名称要求符合 UTF-8 标准的字符串

    序号注意事项
    1 集合名不能是空串,如""
    2 不能含有空字符 null
    3 不能以 system. 开头,这是系统集合保留的前缀
    4 不能包含 $ 
    5 命名空间最大为 255 bytes


    对于分别部署在 Windows、Linux、UNIX 系统上的 MongoDB,集合的命名方式与数据库命名方式一致

    显示所有集合

    show collections

    创建集合

    MongoDB 集合的创建有显式和隐式两种方法

    显示创建

    使用 db.createCollection(name, options) 方法来实现

    • name:创建的集合名称
    • options:可选项,指定内存大小和索引等
    db.createCollection("mySet", {capped:true,size:6142800, max :10000 })

    常用 options

    参数类型描述
    capped Boolean (可选)如果为 true,则启用封闭的集合。上限集合是固定大小的集合,它在达到其最大时自动覆盖其最旧的条目。如果指定 true,则还需要指定 size 参数
    size 数字 (可选)指定上限集合的最大大小(以字节为单位)。如果 capped 为 true,那么还需要指定次字段的值
    max 数字 (可选)指定上限集合中允许的最大文档数

    注意:在插入文档时,MongoDB 首先检查上限集合 capped 字段,然后检查 max 字段

    隐式创建

    • 上面的 createCollection 方法,如果不需要指定 options 的时候,就没必要用显示创建
    • 因为 MongoDB 会在集合首次存储数据时自动创建新的集合
    db.myDB.insert( {"name": "tom"} )

    文档验证

    • 默认情况下,集合不要求存储的所有文档具有相同的数据结构
    • 即单个集合中的不同文档不需要具有相同的字段集
    • 并且一个字段的数据类型可以在集合内的文档中不同
    • 总结: Bson 数据结构、字段都不需要必须一致
    • 从 MongoDB 3.2 开始,可以在 update 和 insert 操作期间为集合强制执行文档验证规则(后面再展开讲)

    修改文档数据结构

    如果要改集合中文档的结构,可以添加新字段、删除现有字段、修改字段类型(后面再展开讲)

    UUID

    • 集合会被分配一个不可变的 UUID
    • 集合 UUID 在副本集的所有成员和分片集群中的分片保持不变

    查看集合的 uuid

    >  db.getCollectionInfos()
    [
        {
            "name" : "myNewCollection1",
            "type" : "collection",
            "options" : {
    
            },
            "info" : {
                "readOnly" : false,
                "uuid" : UUID("3929147e-5030-4353-938c-3405487d330f")
            },
            "idIndex" : {
                "v" : 2,
                "key" : {
                    "_id" : 1
                },
                "name" : "_id_"
            }
        }
    ]

    扩展

    关于 Collection 还有蛮多方法的,后面用到再展开讲解哦

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/poloyy/p/14747814.html
Copyright © 2011-2022 走看看