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刚刚返回相同的顺序文件在于磁盘上。这使得读取操作速度非常快。
  • 相关阅读:
    Linux下的sleep()和sched_yield()(转)
    各种字符串Hash函数(转)
    linux 实时监控网速脚本(转)
    linux安装chrome及chromedriver(转)
    Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 解决办法(转)
    linux 运行时限制CPU核数、内存、读写速度
    C语言函数sscanf()的用法-从字符串中读取与指定格式相符的数据(转)
    golang在线学习与编译网站
    电子书转换网站推荐
    入门级网站经典 w3cschool
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6845220.html
Copyright © 2011-2022 走看看