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刚刚返回相同的顺序文件在于磁盘上。这使得读取操作速度非常快。
  • 相关阅读:
    团队作业7
    团队作业五
    团队作业四
    团队作业3
    团队作业调研
    团队作业 团队组织方式讨论
    团队成员介绍
    iOS大神博客列表
    iOS JSBridge实现
    「节日换肤」通用技术方案__iOS端实现
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6845220.html
Copyright © 2011-2022 走看看