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刚刚返回相同的顺序文件在于磁盘上。这使得读取操作速度非常快。
  • 相关阅读:
    WP7 操作XML文件
    C#和C/C++指针实现swap交换
    感受
    我学到了什么 我思考了什么.
    hdu 2768 Cat vs. Dog (最大独立)
    hdu 1960 Taxi Cab Scheme (最小覆盖)
    hdu 1528 Card Game Cheater (最小覆盖)
    hdu 4160 Dolls (最大独立)
    hdu 2458 Kindergarten (最大独立集)
    hdu 2119 Matrix (最小覆盖)
  • 原文地址:https://www.cnblogs.com/wangjing666/p/6845220.html
Copyright © 2011-2022 走看看