Mongoose 设置Mongo集合的索引

1. index

index就是索引,是增加查询效率的。

  email: {
    type: String,
    index: true,
  },

这样设置完之后,就会自动建立索引。

2.unique

唯一索引,可以保证整个集合某个字段只有唯一值

  email: {
    type: String,
    index: true,
    unique: true
  },

3.sparse 稀疏索引

  email: {
    type: String,
    index: true,
    sparse: true,
    unique: true
  },

意思是某个元素的值如果为空,则不进行唯一值的判断。比如某字段即可以是选填字段,又必须唯一,在不填的时候Mongo会默认为null,如果不进行稀疏索引判断,两个null就是不唯一了。

4. 索引不生效?

Mongoose是在程序启动时统一添加索引,如果原来的表里数据不符合唯一性,则无法添加unique索引,需要先解决冲突。

同时要记得先解决冲突再重启服务,直接添加数据无法成功建立索引。

可以在robot3T查看索引情况。

Mongoose 设置Mongo集合的索引_第1张图片

你可能感兴趣的:(后端技术,数据库,mongodb)