亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

MongoDB通配符索引如何用?

2024-09-07 00:22:36
字體:
供稿:網(wǎng)友
       這篇文章給大家介紹的是關(guān)于MongoDB通配符索引的用法內(nèi)容,小編認(rèn)為是比較實用,因此分享給大家作參考,有這方面學(xué)習(xí)需要的朋友可以看看。
 
       MongoDB在4.2 版本推出了Wildcard Indexes,究竟什么是Wildcard Indexes以及Wildcard Indexes適合哪些場景本文結(jié)合官方文檔以及實際測試進(jìn)行簡單概述。
 
       1、通配符索引示例
 
       因為MongoDB是dynamic schemas,所以應(yīng)用是可以查詢?nèi)魏我阎侄位蛘唠S機(jī)字段的。假設(shè)(此假設(shè)案例摘自官方文檔),集合colA的UserMetadata字段包含如下數(shù)據(jù):
 
{ "userMetadata" : { "likes" : [ "dogs", "cats" ] } }
{ "userMetadata" : { "dislikes" : "pickles" } }
{ "userMetadata" : { "age" : 45 } }
{ "userMetadata" : "inactive" }
       但是在查詢的時候可能是如下語句:
 
db.colA.find({ "userMeta2
通配符索引的形式data.likes" : "dogs" })
db.colA.find({ "userMetadata.dislikes" : "pickles" })
db.colA.find({ "userMetadata.age" : { $gt : 30 } })
db.colA.find({ "userMetadata" : "inactive" })
        2、通配符索引的形式
 
       單字段通配符索引
 
{
 "_id" : ObjectId("5ee2df16911d8dfaa91520b4"),
 "product_name" : "Spy Coat",
 "product_attributes" : {
 "material" : [
 "Tweed",
 "Wool",
 "Leather"
 ],
 "size" : {
 "length" : 72,
 "units" : "inches"
 }
 }
}
{
 "_id" : ObjectId("5ee2df30911d8dfaa91520b5"),
 "product_name" : "Spy Pen",
 "product_attributes" : {
 "colors" : [
 "Blue",
 "Black"
 ],
 "secret_feature" : {
 "name" : "laser",
 "power" : "1000",
 "units" : "watts"
 }
 }
}
如果數(shù)據(jù)結(jié)構(gòu)是上面這樣的,其中product_attributes 屬性包含任何的結(jié)構(gòu)。
 
        全字段的通配符索引
 
       可以通過下面的語句創(chuàng)建一個索引,索引中包含集合中的所有字段,但是不包括_id(如果想包含_id可以通過wildcardProjection 來設(shè)置),如果集合中的字段包含數(shù)組或者嵌套對象的話,那么會迭代數(shù)組或者嵌套對象并把值放到索引中。
 
Db.product_catalog.createIndex({“$**”:1})  
       給每個文檔添加一個address的字段。
 
7777:PRIMARY> db.product_catalog.find().pretty()
{
 "_id" : ObjectId("5ee2df16911d8dfaa91520b4"),
 "product_name" : "Spy Coat",
 "product_attributes" : {
 "material" : [
 "Tweed",
 "Wool",
 "Leather"
 ],
 "size" : {
 "length" : 72,
 "units" : "inches"
 }
 },
 "address" : "Beijing"
}
{
 "_id" : ObjectId("5ee2df30911d8dfaa91520b5"),
 "product_name" : "Spy Pen",
 "product_attributes" : {
 "colors" : [
 "Blue",
 "Black"
 ],
 "secret_feature" : {
 "name" : "laser",
 "power" : "1000",
 "units" : "watts"
 }
 },
 "address" : "Tianjin"
}
 
db.product_catalog.find({"product_name":"Spy Coat","address":"nanji","product_attributes.colors":"Blue"})
 
       在全字段通配符索引的基礎(chǔ)上可以明確包含哪些或者不包含哪些字段到通配符索引中,只能是在全字段通配符索引的基礎(chǔ)上,單字段的是不可以的:
 
       在全字段的基礎(chǔ)上創(chuàng)建一個明確包含哪些字段的索引:
 
db.collection.createIndex(
 { "$**" : 1 },
 { "wildcardProjection" :
 { "fieldA" : 1, "fieldB.fieldC" : 1 }
 }
)
       注意:通配符索引不支持在使用wildcardProjection的時候混合使用包含和排除語句,除了明確指定包含_id字段的時候。
 
       在全字段的基礎(chǔ)上創(chuàng)建一個明確不包含哪些字段的索引:
 
db.collection.createIndex(
 { "$**" : 1 },
 { "wildcardProjection" :
 { "fieldA" : 0, "fieldB.fieldC" : 0 }
 }
)
       3、通配符索引的行為
 
       通配符索引的行為根據(jù)其字段類型不同而有所不同。
 
字段為對象
如果是對象的話,會將對象中的內(nèi)容存儲到索引中,通配符索引會把對象中的所有嵌套對象加載到索引中。
字段為數(shù)組
如果是數(shù)組的話,通配符索引遍歷數(shù)組并且將每個元素都存儲到索引中。
如果數(shù)組中的元素是一個對象的話,通配符索引把對象中的內(nèi)容加載到索引中,像上面的加載對象一樣。
如果數(shù)組中的元素是一個數(shù)組的話(就是多維數(shù)組),通配符索引并不迭代嵌套數(shù)組,相反是把整個嵌套數(shù)組作為一個值來看。
其他類型
把值記錄到數(shù)組中。
通配符索引會持續(xù)迭代任何的嵌套對象或者數(shù)組直到最底層(就是不能在迭代為止),然后它會索引全路徑。
 
       如果超過了8個以上顯示數(shù)組索引的話MongoDB 會考慮另外的索引或者執(zhí)行全集合掃描。如下結(jié)構(gòu):
 
{
 "parentObject" : {
 "nestedArray" : [
 "elementOne",
 {
  "deeplyNestedArray" : [ "elementTwo" ]
 }
 ]
 }
}
       請注意,通配符索引本身對索引文檔時遍歷文檔的深度沒有任何限制;該限制僅適用于顯式指定精確數(shù)組索引的查詢。通過發(fā)出沒有顯式數(shù)組索引的相同查詢,MongoDB可以選擇通配符索引來回答查詢。
 
       4、通配符索引的限制
 
       1.首先通配符索引是一個稀疏索引,只存放存在的字段在索引里面,不存在的不存放,也就是說當(dāng)你使用{$exists:false}的時候,是不會走索引的,是全集合掃描。
 
       db.test_new_wildidx.find({"block.attr":{$exists:false}})
 
       db.test_new_wildidx.find({"block.attr":{$exists:true}})  但是支持true的。
 
       2.通配符索引不支持直接等于/不等于一個對象或者數(shù)組。
 
       通配符索引會將對象或者數(shù)組中的元素加載到索引中,而不是整體放到索引中。故通配符索引不支持直接用文檔或者數(shù)組來匹配。
 
        3. 通配符索引支持如下索引類型或者或者屬性:
 
Compound
TTL
Text
2d (Geospatial)
2dsphere (Geospatial)
Hashed
Unique
 
       4.通配符索引不支持文檔中的數(shù)組$ne null這種。其實不光是數(shù)組,別的字段也同樣,只要是$ne都不會使用通配符索引。

(編輯:武林網(wǎng))

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产免费一区二区| 久久精品久久精品| 国产福利视频在线观看| 麻豆系列在线观看| 久久精品123| 91久久久久久久久久久久久| 日韩一级特黄毛片| 亚洲国产一区二区三区高清| 91九色蝌蚪国产| 国产77777| 羞羞视频网页| 成人午夜在线影视| 日韩一区二区三区电影| av在线dvd| 污污网站在线| 成人男女网免费| 羞羞色国产精品网站| 国产午夜亚洲精品羞羞网站| 奇米888一区二区三区| 日韩一区二区三免费高清| 精品无人国产偷自产在线| 91九色国产在线| 亚洲国产精品久久不卡毛片| 久久婷婷国产麻豆91| 国产精品爱啪在线线免费观看| 国产伦精品一区二区三区视频孕妇| 加勒比av一区二区| 国产无码精品在线播放| 中文天堂在线资源| 日韩在线精品强乱中文字幕| 在线观看污污视频| 佐佐木明希av| 免费看av不卡| 欧美成人免费在线观看视频| 亚洲精选在线观看| 欧美大片网站在线观看| av电影一区二区| 色中色777| 国产98色在线|日韩| 91欧美在线视频| 国产亚洲精品久| 国产毛片精品国产一区二区三区| 在线激情免费视频| 亚洲影视资源| av片在线免费| 成人在线免费看| 精品视频一二三区| 日韩影院在线观看| 久久久99免费视频| 亚洲精品国产精品乱码视色| 日韩成人久久久| 最好看的2019年中文视频| 久久成人福利| 国产视频一二三| 国产欧美在线| 日韩一区二区三区不卡视频| 国产精品系列在线观看| 欧美精品日韩少妇| 97视频人免费观看| 国产69精品久久久久久| 18免费在线视频| 18videosex性欧美麻豆| 欧美亚洲色图视频| 国产美女扒开尿口久久久| 天天摸在线视频| 大黄网站在线观看| 国产精品69久久久久| 最近中文字幕免费mv视频多少集| 天天做天天摸天天爽国产一区| 91精品国产丝袜白色高跟鞋| 黄色一级免费| 国产私拍福利精品视频二区| 国产精品suv一区二区88| 麻豆一区二区在线观看| 四虎成人精品永久免费av九九| 亚洲欧美日韩另类精品一区二区三区| 四虎国产精品免费观看| 久久久成人精品| 奇米影视狠狠狠| 国产高清免费在线观看| 麻豆久久一区二区| 精品久久ai电影| 91亚洲精品在看在线观看高清| 国产精品视频麻豆| av在线你懂的| 久久国产精品波多野结衣av| 免费在线观看黄色小视频| 久久精品视频在线| 夜夜爽夜夜爽精品视频| 欧美在线视频精品| 成黄免费在线| 精品久久美女| 国产中文字幕在线| 亚洲精品1区| 国产色爱av资源综合区| 精品高清久久| 午夜视频一区二区三区| 91精品国产一区二区在线观看| 国产免费区一区二区三视频免费| 成人国产综合| 四虎国产精品成人免费影视| 免费在线一区二区| 一本色道久久综合一区| 亚洲高清在线看| 成人精品视频99在线观看免费| 精品一级少妇久久久久久久| 精品久久久中文| 国产精品久久久久7777按摩| 久久蜜桃av一区精品变态类天堂| 日韩电影中文字幕一区| 娇小的粉嫩xxx极品| 精品国产一区二区三区| 日本久久精品一区二区| 久久99精品一区二区三区三区| 日本三级久久久| 91在线直播| 裸体丰满少妇做受久久99精品| 精品久久久久久久久久久aⅴ| 久久久久久久久久久影视| 亚洲一区中文字幕在线观看| 不许穿内裤随时挨c调教h苏绵| 精品国产在天天线2019| 欧美高清在线视频观看不卡| 国产成人在线综合| 伦一区二区三区中文字幕v亚洲| 国产视频在线观看一区| 精品人妻伦一二三区久久| 50度灰在线| 久久久久欧美| 青青草原av在线| 日韩精品2区| 中文字幕精品视频在线| 看电影就来5566av视频在线播放| 亚洲视频在线观看免费| 青草av.久久免费一区| av免费在线不卡| 麻豆理论在线观看| av成人观看| 午夜宅男久久久| 日韩精品一区二区久久| 草草视频在线观看| 国产一区二区在线|播放| 一区二区三区精品99久久| 青青草娱乐视频| 久久久国产一级片| 一区二区视频国产| 欧美成人在线影院| 都市激情在线视频| 日韩伦理在线视频| 99人久久精品视频最新地址| 日韩欧美国产高清| 亚洲视频在线不卡| 免费在线观看一区| 国产69精品久久久久毛片| 日本精品999| 黑鬼狂亚洲人videos| av不卡高清| 国产不卡高清在线观看视频| 国产精久久一区二区三区| 欧美性色aⅴ视频一区日韩精品| 成人影片在线播放| 日本在线视频www鲁啊鲁| 久久久91精品国产| 69av视频在线| 最近中文字幕mv免费高清在线| 成人激情av网| 亚洲第一二三四五区| 神马久久影院| 中国女人内谢25xxxxx| 亚洲电影影音先锋| 91超薄肉色丝袜交足高跟凉鞋| 国产精品国产亚洲精品| 国产精品一区不卡| 精品视频久久久| 91久久夜色精品国产网站| av免费网站在线观看| 久久久久亚洲av片无码v| 国产一区二区精品久久91| 亚洲综合五月| 国产精品13p| 日韩国产欧美一区二区| 在线观看国产三级| 无码视频一区二区三区| 国产一区二区三区四区大秀| 国产免费无码一区二区| 中国一级大黄大黄大色毛片| 91在线精品一区二区三区| 久久在线中文字幕| 在线视频 日韩| 亚洲在线中文字幕| 国产最新网站| 主播福利视频一区| 亚洲精品www久久久久久| 亚洲韩国一区二区三区| 久久99精品久久久久久久青青日本| 精品亚洲综合| 色综合亚洲精品激情狠狠| 国产视频精选在线| 四色成人av永久网址| 久久黄色av网站| 中文字幕9999| 亚洲高清视频在线播放| 丰满少妇被猛烈进入高清播放| 国产对白叫床清晰在线播放| 日本蜜桃在线观看| 亚洲第一区色| 日韩母乳在线| 精品国产乱码久久久久久蜜坠欲下| 亚洲欧美国产另类首页| 亚洲AV第二区国产精品| av男人的天堂av| 美女网站免费看| 999精品在线观看| 黄色网址中文字幕| 国产一区二区三区网| 国产成人手机视频| 在线观看日韩电影| 亚洲最大成人在线视频| 国产欧美视频在线| 国产精品久久久一区二区三区| 免费成人美女在线观看| 激情 小说 亚洲 图片: 伦| 日韩一级黄色片| 99在线精品视频免费观看20| 激情91久久| 欧美在线视频观看免费网站| 久久久久久**毛片大全| 国产精品亚洲一区二区三区在线| 蜜桃视频成人在线观看| 国产又粗又猛视频免费| 国产精品丝袜91| 国产精品国产三级国产普通话蜜臀| 国产一级大片| 红桃视频欧美| 亚洲免费黄色录像| 欧美丰满少妇xxxbbb| 亚洲第一男人天堂| 免费一区二区在线观看| 天天av天天翘天天综合网色鬼国产| 一色屋免费视频| 91青娱乐在线视频| 91蝌蚪视频在线观看| 青草青青国产| 亚洲人成电影| 九九热精品视频在线播放| 在线观看网站免费入口在线观看国内| 欧美伦理视频在线观看| 青青青在线视频播放| 精品久久久久久久久久久| 无码国产精品久久一区免费| 无码人妻一区二区三区免费n鬼沢| 欧美又粗又硬又大久久久| 亚洲国产精品中文| 国产成人亚洲综合a∨猫咪| 久久久久久久久黄色| 成年片费网站色大全免费视频| 一区二区三区性视频| 日韩欧美在线123| 亚洲区一区二区| 日韩成人av电影| 国产一级网站视频在线| 亚洲AV无码一区二区三区性| √…a在线天堂一区| 午夜精品久久久久久久99老熟妇| 国产成人亚洲精品青草天美| 国产成人麻豆免费观看| 欧美午夜春性猛交xxxx| 性生交大片免费看女人按摩| 成人免费视频观看| 日韩精品一区二区三区在线播放| 色噜噜国产精品视频一区二区| 色婷婷在线播放| 国产手机视频在线观看| 天堂在线免费av| av网站在线免费播放| 91首页免费视频| 中文字幕在线第一页| xxx欧美xxx| 久久综合久久八八| 91小视频在线| 一个人看的免费网站www视频| av在线看片| 91精品国产福利尤物| 国产性猛交xxxx免费看久久| 国产一二三四| 一二三四中文字幕| 91嫩草在线播放| 久久精品动漫| 久久天堂电影| 99久久综合精品| 国产成人免费精品| 91在线高清免费观看| 极品色av影院| 一区二区三区www污污污网站| 亚洲图片欧美一区| 一区二区三区视频国产日韩| 欧美在线性视频| 久久久噜噜噜久久狠狠50岁| 精品动漫3d一区二区三区免费| 综合分类小说区另类春色亚洲小说欧美| 亚洲精品久久久蜜桃| 国内av免费| xvideos成人免费中文版| 视频一区国产视频| 亚洲国产综合人成综合网站| 女同性一区二区三区人了人一| 欧美亚洲在线观看| xxx成人少妇69| jizz国产| 依依成人综合视频| 中文字幕视频免费在线观看| 先锋影音av网站| 国内外免费激情视频| 日韩免费观看在线观看| 国产男女猛烈无遮挡在线喷水| 免费欧美在线| 深夜福利网站在线观看| 7799精品视频天天看| 精品日本一区二区三区| 欧美性xxxx在线播放| 中文精品无码中文字幕无码专区| 欧美大胆a人体大胆做受| 久久久精品视频在线| 国产麻豆视频在线观看| 久久福利免费视频| 神马伦理电影| 99精品欧美一区二区三区| 福利网站在线观看|