首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongodb之索引index

mongodb之索引index

作者头像
十月梦想
发布2018-08-29 14:44:57
5970
发布2018-08-29 14:44:57
举报
文章被收录于专栏:十月梦想十月梦想

数据库中,根据一个字段的值,来寻找一个文档,是很常见的操作。比如根据学号来找一个学生。

这个学号,是唯一的,只要有学号,就能唯一确认一个学生的文档。学号这个属性,就非常适合建立索引,这样一来,查找学生就变得简单了。

这个语句,能够查看检索的过程:

1           db.student.find({"name":"user888"});

学生的姓名是唯一的,为了快速的进行检索,所以就把name属性建立成为“索引”。

1           db.student.createIndex({"name":1});

这样,今后通过name寻找student文档的时候,速度非常快。因为能够快速的从索引表中,找到这个文档。

缺点就是插入每条数据的时候,时间变慢了,效率低了。但是换回来的就是寻找的速度快了。

索引这个属性,所有的文档都不能相同:

1           db.members.createIndex( {   "user_id": 1 }, { unique: true }   );


nodejs如何创建唯一和非唯一的索引呢

本次采用箭头函数创建

创建唯一索引

//初始化一个索引
//ES6箭头函数初始化一个创建索引
let init=()=>{
    _connectDB((err,client)=>{
        if(err){
            console.log(err)
            return;
        }
        let db=client.db(client.s.options.dbName);
        db.collection('user').createIndex({"username":1},{unique:true},(err,result)=>{
            if(err){
                console.log(err);
                return;
            }
            console.log("索引创建完毕!")
        })
    })
}
init()

创建非唯一索引

//初始化一个索引
//ES6箭头函数初始化一个创建索引
let init=()=>{
    _connectDB((err,client)=>{
        if(err){
            console.log(err)
            return;
        }
        let db=client.db(client.s.options.dbName);
        db.collection('user').createIndex({"username":1},null,(err,result)=>{
            if(err){
                console.log(err);
                return;
            }
            console.log("索引创建完毕!")
        })
    })
}
init()

    可以简单看出{unique:true}表明创建唯一索引,创建非唯一索引时候将这个替换为null即可!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-8-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nodejs如何创建唯一和非唯一的索引呢
  • 本次采用箭头函数创建
    • 创建唯一索引
      • 创建非唯一索引
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档