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

首頁 > 數據庫 > MongoDB > 正文

MongoDB操作符中的$elemMatch問題

2020-10-29 18:40:37
字體:
來源:轉載
供稿:網友

問題

如果MongoDB 數據庫集合中僅存在一條記錄

{  "_id" : ObjectId("5e6b4ef546b5f44e5c5b276d"),  "name" : "趙小明",  "used_name" : [     "趙明",     "趙小朋"  ],  "age" : 16,  "gender" : 0,  "relatives" : [     {      "name" : "趙剛",      "relationship" : 0    },     {      "name" : "秀英",      "relationship" : 1    }  ]}

我們執行查詢

db.getCollection('Persion').find({"relatives.name": "趙剛", "relatives.relationship": 1})

此時會得到結果嗎?

最開始我想當然的以為是不會出現結果的,但結果往往與期望背道而馳。

什么,一瞬間我陷入了迷茫,Mongo的查詢結果不是必須都滿足所有條件的嗎?

分析

不信邪的我又嘗試了喜聞樂見的小白查詢

db.getCollection('Persion').find({"name": "趙小明", "age": 18})

這次結果為空,嗯,這才是我熟悉的Mongo嘛?

那這兩次查詢有啥區別呢?不同有兩點

  • 是否為二級字段
  • 是否為數組

那我們將數據改為

{  "_id" : ObjectId("5e6b4ef546b5f44e5c5b276d"),  "name" : "趙小明",  "used_name" : [     "趙明",     "趙小朋"  ],  "age" : 16,  "gender" : 0,  "relative" : {    "name" : "趙剛",    "relationship" : 0  }}

繼續執行查詢

db.getCollection('Persion').find({"relatives.name": "趙剛", "relatives.relationship": 1})

此次結果為空集

接下來嘗試查詢

db.getCollection('Persion').find({"relatives.name": "趙剛", "relatives.relationship": 0})

此次可得到一條結果

通過上述兩次查詢基本可以排除二級字段的影響

那就是數組的原因了,那具體是為什么呢?

將數據還原為最初的格式,繼續進行不同的查詢

db.getCollection('Persion').find({"relatives.name": "趙剛", "relatives.relationship": 2})

此次結果為空集

那我們可以得到結論,對于數組字段,每個查詢條件僅需有數組中的一項滿足條件即可,而不是數組中必須存在一項滿足所有查詢條件。

那如果我想達到后面的效果要怎么做呢?

解決

此時,我們需要用到我們今天的主角 $elemMatch ,它的官方定義是這樣的:

The $elemMatch operator matches documents that contain an array field with at least one element that matches all the specified query criteria.

{ <field>: { $elemMatch: { <query1>, <query2>, ... } } }
If you specify only a single condition in the $elemMatch expression, you do not need to use $elemMatch.

You cannot specify a $where expression in an $elemMatch.
You cannot specify a $text query expression in an $elemMatch.

那上邊的查詢我們可以改成

db.getCollection('Persion').find({"relatives":{"$elemMatch":{"name": "趙四", "relationship": 0}}})

此時可以得到結果,但

db.getCollection('Persion').find({"relatives":{"$elemMatch":{"name": "趙四", "relationship": 1}}})

結果為空集

結語

此操作符和索引也有一些不得不說的事,今天就不在這里細說了,之后我會專門總結一篇有關MongoDB索引相關的博客

等不及的看官可以自行百度Google一下。

總結

到此這篇關于MongoDB操作符之$elemMatch的文章就介紹到這了,更多相關MongoDB操作符之$elemMatch內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品免费在线播放| 欧美精品久久久久久久免费观看| 狠狠干狠狠久久| 一区二区三区 在线观看视| 国产成人精品av| 亚洲精品美女久久| 成人av番号网| 中文字幕亚洲色图| 福利视频导航一区| 欧美国产精品人人做人人爱| 国产第一区电影| 原创国产精品91| 国产三级精品网站| 亚洲性视频网址| 久久精品国产亚洲一区二区| 欧美最顶级的aⅴ艳星| 亚洲精品永久免费精品| 美女福利精品视频| 欧美日韩裸体免费视频| 国产中文字幕91| 精品性高朝久久久久久久| 国产亚洲美女精品久久久| 久久久久久久久久久国产| 亚洲欧洲成视频免费观看| 懂色av影视一区二区三区| 国产精品嫩草视频| 日韩视频免费中文字幕| 精品中文字幕视频| 狠狠色香婷婷久久亚洲精品| 色偷偷av一区二区三区乱| 亚洲成人a级网| 久久成人免费视频| 成人免费自拍视频| 色偷偷av亚洲男人的天堂| 欧美性xxxxxxxxx| 韩国19禁主播vip福利视频| 国产精品第100页| 日日骚av一区| 亚洲综合国产精品| 日韩中文字幕在线精品| 欧洲亚洲妇女av| 欧洲成人性视频| 成人精品一区二区三区电影黑人| 国产一区二区美女视频| 777国产偷窥盗摄精品视频| 亚洲一区二区自拍| 欧美性videos高清精品| 午夜精品一区二区三区在线| 日韩在线观看免费全| 97在线视频免费看| 中文综合在线观看| 亚洲免费av网址| 国产噜噜噜噜噜久久久久久久久| 全球成人中文在线| 国产区亚洲区欧美区| 一区二区三区视频免费| 亚洲国产精品女人久久久| 国产深夜精品福利| 国产精品成人播放| 久久久视频在线| 亚洲视频自拍偷拍| 成人久久精品视频| 久久中文字幕在线| 欧美在线欧美在线| 欧美放荡办公室videos4k| 亚洲午夜小视频| 一本色道久久综合狠狠躁篇怎么玩| 97av在线视频免费播放| 亚洲欧美一区二区三区情侣bbw| 国产精品激情av在线播放| 国产精品久久久精品| 91视频-88av| 亚洲黄色av网站| 久久视频免费在线播放| 欧美大胆在线视频| 日本高清视频一区| 亚洲aaa激情| 精品无人国产偷自产在线| 国产成人精彩在线视频九色| 久久精品国产综合| 欧美特级www| 国产国产精品人在线视| 97在线观看免费| 欧美区二区三区| 欧美精品videosex性欧美| 日韩电影中文字幕| 97人洗澡人人免费公开视频碰碰碰| 国产成人a亚洲精品| 精品国产依人香蕉在线精品| 精品久久久久久久中文字幕| 亚洲欧美日韩国产成人| 性色av一区二区三区免费| 久久在线免费观看视频| 亚洲国产精品va在看黑人| 欧美中文字幕在线播放| 少妇久久久久久| 中文字幕久精品免费视频| 91免费欧美精品| 91久久精品在线| 欧美华人在线视频| 日韩免费观看视频| 日本亚洲欧洲色| 国产一区二区三区高清在线观看| 欧美日韩亚洲视频| 亚洲一级黄色片| 日韩视频中文字幕| 欧美亚洲一区在线| 在线观看日韩专区| 亚洲成人亚洲激情| 亚洲欧美精品一区| 91精品啪在线观看麻豆免费| 亚洲激情小视频| 国产suv精品一区二区| 欧美亚洲在线观看| 国产精品私拍pans大尺度在线| 国产视频欧美视频| 国产极品精品在线观看| 亚洲天天在线日亚洲洲精| 日韩最新免费不卡| 欧美中在线观看| 亚洲欧美日韩中文视频| 欧美午夜片欧美片在线观看| 欧美精品999| 国产精品一区二区女厕厕| 欧美日韩一区免费| 亚洲欧美在线一区| 91av在线免费观看| 91久久久国产精品| 亚洲理论片在线观看| 4438全国亚洲精品在线观看视频| 国产69精品久久久久9999| 日韩大陆欧美高清视频区| 亚洲精品综合久久中文字幕| 国产精品午夜国产小视频| 这里只有精品在线观看| 91亚洲精品一区二区| 国产69精品久久久久99| 久久精品2019中文字幕| zzjj国产精品一区二区| 色悠悠国产精品| 国产精品美女呻吟| 国产精品女人久久久久久| 超在线视频97| 成人h视频在线观看播放| 亚洲欧美日韩成人| 4p变态网欧美系列| 欧洲永久精品大片ww免费漫画| 国产精品视频最多的网站| 日韩激情第一页| 日韩美女福利视频| 久久久视频在线| 日韩国产欧美区| 久久久久久久久久久久av| 精品久久香蕉国产线看观看gif| 国产精品人人做人人爽| 91久久国产婷婷一区二区| 91在线免费观看网站| 91久久国产精品| 亚洲精品国产精品久久清纯直播| 亚洲黄页视频免费观看| 亚洲大尺度美女在线| 欧美黑人性生活视频| 日日摸夜夜添一区| 欧美视频免费在线观看|