亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mongodb單字段索引應(yīng)用詳解

 更新時間:2024年07月17日 11:35:57   作者:威贊  
mongodb支持在文檔中的任何一個字段建立單字段索引,包括文檔的頂級字段,針對嵌入式文檔建立索引或者針對嵌入式文檔的某個字段建立索引,本文給大家介紹Mongodb單字段索引的相關(guān)知識,感興趣的朋友一起看看吧

學(xué)習(xí)mongodb,體會mongodb的每一個使用細(xì)節(jié),歡迎閱讀威贊的文章。這是威贊發(fā)布的第89篇mongodb技術(shù)文章,歡迎瀏覽本專欄威贊發(fā)布的其他文章。如果您認(rèn)為我的文章對您有幫助或者解決您的問題,歡迎在文章下面點個贊,或者關(guān)注威贊。謝謝。

當(dāng)用戶或應(yīng)用頻繁的針對集合中某個字段查詢時,用戶可以在頻繁查詢的字段上添加索引來提高效率。例如,公司的HR部門,經(jīng)常使用員工的id查詢員工信息。開發(fā)人員或者數(shù)據(jù)管理人員就可以在id字段添加索引來提高查詢效率。這種針對單個字段建立的索引,就是單字段索引。

本文整理Mongodb的官方文檔,為您詳細(xì)介紹單字段索引。

概述

單字段索引,是使用集合中文檔的一個字段來建立的索引。mongodb默認(rèn)為_id字段建立了索引。用戶可以按照實際業(yè)務(wù)需求,添加建立新的單字段索引來提高查詢效率。

mongodb支持在文檔中的任何一個字段建立單字段索引,包括文檔的頂級字段,針對嵌入式文檔建立索引或者針對嵌入式文檔的某個字段建立索引。當(dāng)用戶對嵌入式文檔字段建立索引時,用戶查詢條件當(dāng)中用來過濾的文檔,需要與集合索引中的文檔嚴(yán)格相等時,才能使用索引。包括在查詢條件中輸入文檔的字段順序。當(dāng)用戶對嵌入式文檔進(jìn)行修改,包括對該文檔增加或刪除字段,都可能導(dǎo)致索引無法使用。因此在針對嵌入文檔字段建立索引時,是否真正的需要針對整個文檔建立索引,還是使用嵌入文檔中的部分字段建立索引就可以了。

當(dāng)用戶建立索引時,需要指定該索引的字段和字段值在索引中的排序。其中使用數(shù)字1表示按照字段值的正序排列。而指定-1時,表示使用索引值的倒序排列。

語法

用戶按照下面的語法來創(chuàng)建單字段索引

db.<collection>.createIndex( {<field>: <sortOrder>})

其中,<field>為嵌入式文檔中的字段時,需要使用點操作符。如“embedded.field1”.

下圖表示了使用單字段建立索引。

在集合collection中使用score字段上建立的索引。score是一個數(shù)字類型的字段。索引使用score字段的數(shù)值建立。從最小值min到最大值max排列。其中還包括18, 30, 45, 75這幾個數(shù)字。{score:1}表示按照字段score從小到大的順序排列建立索引。

應(yīng)用

創(chuàng)建students集合并插入數(shù)據(jù)。

db.students.insertMany([{
    name: "Alice",
    gpa:  3.6,
    location: { city: "Sacramento", state: "California" }
}, {
    name: "Bob",
    gpa:  3.9,
    location: { city: "San Francisco", state: "California"}
}])

在頂級字段添加索引

在gpa字段創(chuàng)建索引

db.students.find({gpa: {$gt: 3.7}})
db.students.find({gpa: 3.6})

使用gpa字段建立索引后,會改善在gpa字段的查詢效率。如

db.students.find({gpa: {$gt: 3.7}})
db.students.find({gpa: 3.6})

在嵌入文檔字段添加索引

mongodb支持在嵌入文檔字段添加索引。在嵌入文檔字段添加索引,需要使用點操作符。如下面的語句,在文檔location的字段state上添加了單字段索引。

db.students.createIndex({"location.state": 1})

當(dāng)用戶頻繁的查詢location.state字段時,就會用到這個索引

db.students.find( { "location.state": "California" } )
db.students.find( { 
    "location.city": "Albany", 
    "location.state": "New York" 
} )

為嵌入文檔字段添加索引

如為集合students中字段location添加索引

db.students.createIndex({location: 1})

到此這篇關(guān)于Mongodb單字段索引詳解的文章就介紹到這了,更多相關(guān)Mongodb單字段索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MongoDB社區(qū)版和企業(yè)版的差別對照表

    MongoDB社區(qū)版和企業(yè)版的差別對照表

    這篇文章主要介紹了MongoDB社區(qū)版和企業(yè)版的差別對照表,本文同時提供了中文和英文版的對照表,需要的朋友可以參考下
    2014-10-10
  • Java操作mongodb的模糊查詢和精確查詢

    Java操作mongodb的模糊查詢和精確查詢

    這篇文章主要介紹了Java操作mongodb的模糊查詢和精確查詢,使用regex關(guān)鍵字實現(xiàn)模糊查詢操作,具體實現(xiàn)代碼大家參考下本文
    2017-11-11
  • mongodb 集群重構(gòu)和釋放磁盤空間實例詳解

    mongodb 集群重構(gòu)和釋放磁盤空間實例詳解

    這篇文章主要介紹了mongodb 集群重構(gòu)和釋放磁盤空間實例詳解的相關(guān)資料,具有一定的參考價值,需要的朋友可以參考下
    2016-11-11
  • MongoDB的安裝及配置文件選項全解

    MongoDB的安裝及配置文件選項全解

    本文收錄了MongoDB的安裝及配置文件選項全解,介紹了MongoDB安裝的方法以及環(huán)境下的一些重要文件,還有最重要的是詳細(xì)地羅列了配置文件中的選項含義和參數(shù),需要的朋友可以參考下
    2016-07-07
  • express使用Mongoose連接MongoDB操作示例【附源碼下載】

    express使用Mongoose連接MongoDB操作示例【附源碼下載】

    這篇文章主要介紹了express使用Mongoose連接MongoDB操作,結(jié)合實例形式分析了express使用Mongoose連接MongoDB的具體步驟與相關(guān)實現(xiàn)技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2019-07-07
  • mongodb 添加用戶及權(quán)限設(shè)置詳解

    mongodb 添加用戶及權(quán)限設(shè)置詳解

    我知道的關(guān)系型數(shù)據(jù)庫都是有權(quán)限控制的,什么用戶能訪問什么庫,什么表,什么用戶可以插入,更新,而有的用戶只有讀取權(quán)限。
    2014-07-07
  • MongoDB聚合group的操作指南

    MongoDB聚合group的操作指南

    這篇文章主要給大家介紹了關(guān)于MongoDB聚合group的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • MongoDB索引的用法介紹

    MongoDB索引的用法介紹

    這篇文章介紹了MongoDB索引的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • MongoDB內(nèi)存過高問題分析及解決

    MongoDB內(nèi)存過高問題分析及解決

    有個3.2.7版本的mongo復(fù)制集,最近幾天頻繁告警內(nèi)存過高,所以這篇文章給大家介紹了MongoDB內(nèi)存過高問題分析及解決。并通過代碼示例給出詳細(xì)的解決方案,需要的朋友可以參考下
    2024-03-03
  • 開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口

    開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口

    這篇文章主要介紹了開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04

最新評論