MongoDB 字段索引后,如何快速检查一个该字段的数值是不存在的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 字段索引后,如何快速检查一个该字段的数值是不存在的相关的知识,希望对你有一定的参考价值。

参考技术A 使用精确查询即可

mongoDB 索引

索引的介绍

1、索引(indexes)帮助mongoDB提高执行查询的效率

2、没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择与查询语句匹配的文档。

3、如果查询存在适当的索引,则MongoDB可以使用该索引来限制它必须检查的文档数量。

4、索引是特殊的数据结构[1],以容易的遍历形式存储集合数据集的一小部分。

5、索引存储由字段的值排序的特定字段或字段集的值

6、索引条目的排序支持有效的等效匹配和基于范围的查询操作。

7、此外,MongoDB可以通过使用索引中的排序返回排序结果。

下图说明了使用索引选择和顺序匹配文档的查询:

从根本上说,MongoDB中的索引类似于其他数据库系统中的索引。 MongoDB在集合级别定义索引,并支持MongoDB集合中文档的任何字段或子字段的索引。

创建索引

  MongoDB在创建集合时在_id字段上创建一个唯一的索引。 _id索引阻止客户端插入两个与_id字段具有相同值的文档。 您不能在_id字段上删除此索引。

在分片集群中,如果不使用_id字段作为分片键,则应用程序必须确保_id字段中的值的唯一性,以防止错误。 这通常通过使用标准的自动生成的ObjectId来完成。

创建索引。

 To create an index, use db.collection.createIndex() or a similar method from your driver.

  db.collection.createIndex(<key and index type secification>,<options>)

MongoDB提供了许多不同的索引类型来支持特定类型的数据和查询。

如果同一规范的索引不存在,则db.collection.createIndex()方法仅创建索引。

MongoDB索引使用B-tree数据结构。

MongoDB提供了许多不同的索引类型来支持特定类型的数据和查询。

以上是关于MongoDB 字段索引后,如何快速检查一个该字段的数值是不存在的的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB + C#:未选择/使用 GUID 字段上的复合索引

mongoDB_08索引的操作

如何在mongodb聚合中检查子字段是不是存在且不为空?

MongoDB索引管理

Mongodb查询对索引字段的部分字段搜索来说太慢了

MongoDB 哈希索引