在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 數(shù)據(jù)庫(kù)/ MongoDB覆蓋查詢(xún)
MongoDB教程
MongoDB覆蓋查詢(xún)
MongoDB數(shù)據(jù)建模
MongoDB聚合
MongoDB更改用戶(hù)密碼和自定義數(shù)據(jù)
MongoDB用戶(hù)
MongoDB分片
MongoDB創(chuàng)建集合
MongoDB文本搜索
MongoDB數(shù)據(jù)類(lèi)型
MongoDB GridFS
MongoDB索引限制
MongoDB插入文檔
MongoDB刪除集合
MongoDB數(shù)據(jù)庫(kù)引用
MongoDB復(fù)制
MongoDB Map Reduce
Python連接MongoDB操作
MongoDB原子操作
MongoDB特點(diǎn)
MongoDB安全檢查表
MongoDB排序記錄
MongoDB自動(dòng)遞增序列
MongoDB安裝配置(Windows)
MongoDB備份與恢復(fù)
MongoDB安裝配置(Ubuntu)
Ruby連接MongoDB操作
MongoDB部署
MongoDB索引
MongoDB分析查詢(xún)
MongoDB投影(選擇字段)
MongoDB刪除數(shù)據(jù)庫(kù)
MongoDB認(rèn)證
MongoDB限制記錄數(shù)
MongoDB添加用戶(hù)
MongoDB固定循環(huán)集合
MongoDB高級(jí)索引
MongoDB數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)
MongoDB快速入門(mén)
MongoDB創(chuàng)建數(shù)據(jù)庫(kù)
MongoDB啟用身份驗(yàn)證
MongoDB歷史
MongoDB管理用戶(hù)和角色
MongoDB安裝配置(RedHat/CentOS)
MongoDB刪除文檔
Java連接MongoDB操作
MongoDB正則表達(dá)式
MongoDB查詢(xún)文檔
MongoDB關(guān)聯(lián)關(guān)系
PHP連接MongoDB操作
MongoDB更新文檔
MongoDB ObjectId

MongoDB覆蓋查詢(xún)

在本章中,我們將了解覆蓋查詢(xún)。

什么是覆蓋查詢(xún)?

根據(jù)官方MongoDB文檔,覆蓋查詢(xún)是一個(gè)查詢(xún),其中 -

  • 查詢(xún)中的所有字段都是索引的一部分。
  • 查詢(xún)中返回的所有字段都在同一個(gè)索引中。

由于查詢(xún)中存在的所有字段都是索引的一部分,所以MongoDB查詢(xún)指定條件匹配,并使用相同的索引返回結(jié)果,而不會(huì)實(shí)際查找文檔。由于索引存在于RAM/內(nèi)存中,與通過(guò)掃描文檔獲取數(shù)據(jù)相比,從索引獲取數(shù)據(jù)更快。

使用覆蓋查詢(xún)

要測(cè)試覆蓋的查詢(xún),請(qǐng)?jiān)?code>users集合中考慮以下文檔 -

{
   "_id": ObjectId("234324fd852426020001111"),
   "contact": "13800138000",
   "dob": "1991-11-11",
   "gender": "M",
   "name": "Maxsu",
   "user_name": "user_maxsu"
}

首先使用以下查詢(xún)?cè)?code>users集合 的字段:genderuser_name 上創(chuàng)建一個(gè)復(fù)合索引 -

> db.users.ensureIndex({gender:1,user_name:1})

現(xiàn)在,這個(gè)索引將覆蓋以下查詢(xún) -

>db.users.find({gender:"M"},{user_name:1,_id:0})

也就是說(shuō),對(duì)于上述查詢(xún),MongoDB不會(huì)查找數(shù)據(jù)庫(kù)文檔。相反,它將從索引數(shù)據(jù)中獲取所需的數(shù)據(jù)。

由于索引不包括_id字段,在上面示例中,已經(jīng)將其從查詢(xún)的結(jié)果集中明確排除,因?yàn)镸ongoDB默認(rèn)情況下在每個(gè)查詢(xún)中返回_id字段。 所以下面的查詢(xún)不會(huì)在上面創(chuàng)建的索引中被覆蓋(查詢(xún)有返回_id字段) -

>db.users.find({gender:"M"},{user_name:1})

最后,請(qǐng)記住,如果有下列情況,則索引無(wú)法覆蓋查詢(xún) -

  • 任何索引的字段是一個(gè)數(shù)組
  • 任何索引的字段是一個(gè)子文檔