zoukankan      html  css  js  c++  java
  • mongodb 上限集合

    上限集合是固定大小的循环集合按照插入以支持高性能的创建,读取和删除操作。通过循环,这意味着,当分配给该集合中的固定大小要用尽时,它会开始删除集合中最旧的文件而不提供任何明确的命令。

    上限集合限制更新,如果更新导致增加的文档大小的文件。 由于在磁盘存储器的顺序封端集合存储文档,它确保了文件大小不会增加分配在磁盘上的大小。上限集合是最佳的,用于存储日志信息,高速缓存数据或任何其它高容量数据。

    创建上限集合:

    要创建一个上限集合,我们使用普通createCollection命令,但是带有 capped 的选项,指定值为true,并指定集合的字节的最大值。

    >db.createCollection("cappedLogCollection",{capped:true,size:10000})

    除了集合大小,我们也可以使用max参数限制集合中的文档的数量:

    >db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

    如果想检查集合是否达到上限,可以使用以下命令isCapped:

    >db.cappedLogCollection.isCapped()

    如果一个现有的集合,想要将它转换为上限,可以用下面的代码做到这一点:

    >db.runCommand({"convertToCapped":"posts",size:10000})

    此代码将转换现有集合帖子到上限集合。

    查询上限集合:

    默认情况下,在上限集合查找查询将显示在插入顺序的结果。但是,如果想检索顺序相反的文件,使用如下面的代码 sort 命令:

    >db.cappedLogCollection.find().sort({$natural:-1})

    有关于上限集合值得了解的其他几个要点:

    • 我们不能删除上限集合文档
    • 还有没有默认索引在上限集合,甚至没有_id字段
    • 同时插入一个新的文档,MongoDB并没有实际查找一个地方,以适应在磁盘上新的文档。 它可以盲目在集合的尾部插入新的文档。这使得在上限集合插入操作速度非常快。
    • 同样,虽然读文件MongoDB刚刚返回相同的顺序文件在于磁盘上。这使得读取操作速度非常快。
  • 相关阅读:
    AndroidStudio制作个人资料界面模块以及SQLite数据库的使用
    掌握这13个MySQL索引知识点,让你面试通过率翻倍
    获取数据表最后最后访问,修改,更新,扫描时间
    一本彻底搞懂MySQL索引优化EXPLAIN百科全书
    Win10系统下的MySQL5.7.24版本(解压版)详细安装教程
    解决beego在ubuntu下连接mysql与重置mysql密码
    在Windows上安装MySQL
    docker~dockertoolbox的加速器
    Git 安装 on centos7
    centos7.x中安装SQL Server
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6845220.html
Copyright © 2011-2022 走看看