美文网首页
【原创】【译】MongoDB3.0.6 索引

【原创】【译】MongoDB3.0.6 索引

作者: detry | 来源:发表于2016-01-18 20:01 被阅读55次

    概述

    索引能提高查询的效率,MongoDB在你建立集合的时候,会自动帮你给_id字段建立索引。
    用createIndex方法在集合中创建索引。索引能极大提高查询速度。
    为一个字段或者多个字段建立索引,用createIndex来给指定的文档建立索引,该文档包含每个字段的索引和索引类型。


         new Document(<field1>, <type1>).append(<field2>, <type2>) ...
    

    对于一个ascending 的索引类型,为<type>指定值为1;
    对于一个descending 的索引类型,为<type>指定值为-1.

    createIndex方法仅在索引不存在的时候创建索引。

    前提条件

    下面的例子依然沿用前面的test数据库中的restaurant集合。关于如何导入数据集,请查看以前的博文。
    紧接着前面的步骤:
    首先需要导入需要的包:

         import org.bson.Document;
    

    为单个字段创建索引

    为restaurant集合中的"cuisine"字段创建ascending索引

         db.getCollection("restaurants").createIndex(new Document("cuisine", 1));
    

    改语句不会返回值。

    创建复合索引

    MongoDB支持复合索引,即一个索引包含多个字段。顺序取决于索引如何存储它的键。例如,下面的操作就是创建在"cuisine"和"address.zipcode"两个字段上建一个复合索引。该索引会给实体先按照“cuisine”升序排,然后按照“address.zipcode”降序排列。

       db.getCollection("restaurants").createIndex(new Document("cuisine", 1).append("address.zipcode", -1));
    

    结果不会返回值。

    额外

    你可以给索引指定很多属性,比如唯一性约束。在Java文档中,查看更多createIndex的内容。

    MongoDB提供了不同的索引类型来支持不同的查询和数据集。在MongoDB手册中,查看更多索引的介绍,了解MongoDB各种索引类型。

    相关文章

      网友评论

          本文标题:【原创】【译】MongoDB3.0.6 索引

          本文链接:https://www.haomeiwen.com/subject/ajpkkttx.html