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

首頁 > 數據庫 > MongoDB > 正文

MongoDB如何對數組中的元素進行查詢詳解

2020-03-14 12:51:31
字體:
來源:轉載
供稿:網友

前言

MongoDB是文檔型數據庫,每個文檔(doc)表示數據的一項記錄。相比關系型DB的row只能使用簡單的數據類型,doc能夠使用復雜的數據類型:內嵌doc,數組。MongoDB的數組是一系列元素的集合,使用中括號 [] 表示數組,例如:[1,2,3]的元素是整數值,[{name:"t5"}, {name:"t7"}],[ {name:"t5", age:21}, {name:"t7", age:22} ]的元素是doc。

在MongoDB中,數組元素允許重復,元素的位置是固定的。如果兩個數組相等,那么這兩個數組的元素和及其位置都相同。

MongoDB中根據數組子元素進行匹配,有兩種方式。

  • 使用 “[數組名].[子元素字段名]” 的方式進行匹配。
  • 使用 “[數組名]” $elemMatch { [子元素字段名] }的方式。

不同點在于所匹配的主體不同。

“[數組名].[子元素字段名]” 的方式匹配的主體為 “[數組名]”, 適用于單個條件,如果是多個條件, 則變成數組子元素之間的“或”運算。

請看示例:

假設某個集合內有2條數據:

document1 如下:

{  "_id" : "123",  "name" : "人文醫學",  "qList" : [  {   "qid" : 1,    "content" : "醫學倫理學的公正原則",    "reorderFlag" : 1  },   {   "qid" : 2,    "content" : "制定有關人體實驗的基本原則",    "reorderFlag" : 0  } ]}

document2 如下:

{  "_id" : "124",  "name" : "人文醫學2",  "qList" : [  {   "qid" : 1,    "content" : "醫學倫理學的公正原則",    "reorderFlag" : 0  },   {   "qid" : 2,    "content" : "制定有關人體實驗的基本原則",    "reorderFlag" : 1  } ]}

找出數組中, 具有 qid=1并且reorderFlag=0的記錄

查詢數組內同一條記錄同時滿足2個條件的語句:

{ "qList": { $elemMatch: { "qid": 1, "reorderFlag": 0} } }

查詢結果是:

{  "_id" : "124",  "name" : "人文醫學2",  "qList" : [  {   "qid" : NumberInt(1),    "content" : "醫學倫理學的公正原則",    "reorderFlag" : NumberInt(0)  },   {   "qid" : NumberInt(2),    "content" : "制定有關人體實驗的基本原則",    "reorderFlag" : NumberInt(1)  } ]}

可以看到, 其執行結果是, 對數組內的每一個子元素, 執行 $elemMatch 匹配, 可以進行多個條件的匹配。

找出數組中, qid=1 或者 reorderFlag=0的記錄

數組整體能滿足以下2個條件:

{ "qList.qid": 1, "qList.reorderFlag": 0}

執行的主體是 qList, 要求: 有某些子元素滿足 qid=1, 也要有某些子元素滿足 reorderFlag=0`。

查詢結果是:

{  "_id" : "123",  "name" : "人文醫學",  "qList" : [  {   "qid" : NumberInt(1),    "content" : "醫學倫理學的公正原則",    "reorderFlag" : NumberInt(1)  },   {   "qid" : NumberInt(2),    "content" : "制定有關人體實驗的基本原則",    "reorderFlag" : NumberInt(0)  } ]}{  "_id" : "124",  "name" : "人文醫學2",  "qList" : [  {   "qid" : NumberInt(1),    "content" : "醫學倫理學的公正原則",    "reorderFlag" : NumberInt(0)  },   {   "qid" : NumberInt(2),    "content" : "制定有關人體實驗的基本原則",    "reorderFlag" : NumberInt(1)  } ]}

可以看到, 其執行結果是, 對數組進行匹配, 其中需要有子元素 滿足 "qList.qid": 1, 還需要有子元素 滿足 "qList.qid": 1, , 適合進行單個條件的匹配。

如果是單個條件匹配, 則以下方式結果是一樣的。

{ "qList.qid": 1}

或者

{ "qList": { $elemMatch: { "qid": 1} } }

查詢的結果都是2條記錄。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲一区精品| 8050国产精品久久久久久| 91香蕉国产在线观看| 精品久久中文字幕| 亚洲欧美在线看| 亚洲电影免费观看高清完整版| 性欧美在线看片a免费观看| 亚洲福利视频网| 中文字幕无线精品亚洲乱码一区| 亚洲石原莉奈一区二区在线观看| 欧美激情精品久久久久久免费印度| 亚洲日韩中文字幕在线播放| 久久亚洲综合国产精品99麻豆精品福利| 美日韩丰满少妇在线观看| 国产精品免费观看在线| 日韩在线观看免费全集电视剧网站| 亚洲自拍偷拍第一页| 国产精品午夜国产小视频| 97香蕉超级碰碰久久免费软件| 热久久这里只有| 亚洲电影在线观看| 国产婷婷97碰碰久久人人蜜臀| 亚洲自拍在线观看| 国语对白做受69| 国产精品久久久久7777婷婷| 美女福利视频一区| 国产精品美女久久久免费| 亚洲va电影大全| 91成品人片a无限观看| 国产精品白嫩初高中害羞小美女| 日韩精品视频三区| 色狠狠av一区二区三区香蕉蜜桃| 精品国内自产拍在线观看| 92国产精品视频| 91干在线观看| 亚洲日本成人网| 日韩高清欧美高清| 日韩美女主播视频| 久久精品中文字幕一区| 97视频在线观看免费| 欧美性猛交xxxx| 久久综合伊人77777蜜臀| 日韩免费观看av| 精品久久久久久久大神国产| 国产精品看片资源| 欧美激情视频在线| 亚洲电影在线观看| 久久天天躁狠狠躁老女人| 亚洲精品久久久久久下一站| 久久久91精品国产| 国产精品影片在线观看| 亚洲人成在线电影| 成人av.网址在线网站| 久久人人爽人人爽人人片av高清| 久久精品在线视频| 日本久久久久久久| 97色在线观看免费视频| 国产女人18毛片水18精品| 欧美性20hd另类| 日韩av日韩在线观看| 色婷婷久久av| 国产欧美va欧美va香蕉在线| 欧美日韩裸体免费视频| 色黄久久久久久| 亚洲网在线观看| 欧美日韩亚洲激情| 色综合伊人色综合网| 亚洲成av人片在线观看香蕉| 欧美丰满少妇xxxx| 精品久久久999| 欧美激情日韩图片| 久久成人18免费网站| 国产精品扒开腿做爽爽爽视频| 欧美有码在线视频| 综合久久五月天| 成人h猎奇视频网站| 亚洲色图综合久久| 国产精品久久久久久久久久小说| 国产亚洲视频在线观看| 久久国产加勒比精品无码| 亚洲国产女人aaa毛片在线| 久久久久国产精品免费| 中文字幕日韩精品有码视频| 日韩电影中文字幕在线| 亚洲天堂男人的天堂| 精品国产一区二区三区久久久| 欧美激情在线视频二区| 久久五月情影视| 国产精品视频免费在线观看| 亚洲一区二区免费| 91亚洲精华国产精华| 国产日韩精品一区二区| 在线丨暗呦小u女国产精品| 亚洲第一二三四五区| 在线精品高清中文字幕| 欧美性理论片在线观看片免费| 欧美精品一区二区免费| 91九色视频在线| 国产精品嫩草影院久久久| 国产成人jvid在线播放| 欧美激情一区二区三区高清视频| 欧美午夜宅男影院在线观看| 国产美女久久精品香蕉69| 国产91在线高潮白浆在线观看| 国产91精品高潮白浆喷水| 九色精品免费永久在线| 国产美女搞久久| 综合国产在线视频| 欧美成人午夜免费视在线看片| 亚洲变态欧美另类捆绑| 欧美日韩免费在线观看| 国产一区二区三区直播精品电影| 国产亚洲欧美日韩美女| 永久免费毛片在线播放不卡| 麻豆一区二区在线观看| 中文字幕亚洲图片| 欧美激情久久久| 国产免费一区视频观看免费| 日韩一区二区三区国产| 亚洲日本中文字幕免费在线不卡| 久久久天堂国产精品女人| 亚洲性视频网站| 国产精品美女视频网站| 亚洲精品美女久久久久| 97人人爽人人喊人人模波多| 日韩免费高清在线观看| 日韩欧美高清视频| 亚洲无av在线中文字幕| 久久999免费视频| 国产欧美亚洲精品| 欧美大尺度电影在线观看| 岛国av一区二区在线在线观看| 国内精品久久久久久久| 九九综合九九综合| 欧美裸体xxxx极品少妇软件| 一区二区在线视频播放| 国产精品第100页| 国产xxx69麻豆国语对白| 欧美成人亚洲成人日韩成人| 国产精品普通话| 亚洲网址你懂得| 成年人精品视频| 日韩精品在线免费| 欧美一性一乱一交一视频| 日韩三级影视基地| 91高清视频免费| 亚洲精品日韩欧美| 亚洲美女喷白浆| 亚洲人成电影在线播放| 久久综合色影院| 亚洲日韩欧美视频一区| 亚洲码在线观看| 精品美女永久免费视频| 亚洲午夜精品久久久久久性色| 欧美日韩一区二区免费在线观看| 国内精品视频一区| 欧美亚洲激情在线| 亚洲日韩欧美视频一区| 日韩精品视频三区| 亚洲第一精品自拍| 日韩欧美精品网站| 欧美精品在线播放| 日韩在线视频免费观看| 久久琪琪电影院|