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

首頁 > 數據庫 > MongoDB > 正文

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

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

前言

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條記錄。

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品免费在线播放| 久久精品视频在线观看| 欧美性理论片在线观看片免费| 日韩精品免费电影| 国产精品入口尤物| 欧美电影院免费观看| 国产精品大陆在线观看| 2019中文字幕在线观看| 狠狠久久五月精品中文字幕| 91免费在线视频| 高清日韩电视剧大全免费播放在线观看| 国内精品免费午夜毛片| 久久久91精品国产| 亚洲成人黄色网| 国产精品av在线播放| 亚洲成年人影院在线| 欧美天堂在线观看| 亚洲精品不卡在线| 欧美又大又硬又粗bbbbb| 欧美激情欧美激情| 久久久久国色av免费观看性色| 55夜色66夜色国产精品视频| 色婷婷**av毛片一区| 久久艹在线视频| 国产精品一区二区三区久久久| 日本久久久a级免费| 国产精品综合久久久| 亚洲国产精久久久久久| 精品中文字幕在线| 亚洲欧美国产精品va在线观看| 亚洲情综合五月天| 欧美视频专区一二在线观看| 国产在线久久久| 亚洲香蕉成视频在线观看| 中文字幕国产精品久久| 狠狠躁夜夜躁人人爽超碰91| 日韩一区二区三区国产| zzijzzij亚洲日本成熟少妇| 国产日韩专区在线| 国产精品自产拍高潮在线观看| 欧美香蕉大胸在线视频观看| 97久久精品人搡人人玩| 久久成人综合视频| 91精品91久久久久久| 欧美日韩国产丝袜美女| 国产成人综合精品| 91在线免费看网站| 日韩av影视综合网| 欧美精品在线看| 91精品国产一区| 最近2019年日本中文免费字幕| 精品一区二区三区三区| 日韩av免费网站| 国产精品第3页| 成人深夜直播免费观看| 欧美亚洲另类激情另类| 久久九九热免费视频| 亚洲国产小视频在线观看| 成人中心免费视频| 91大神在线播放精品| 亚洲娇小xxxx欧美娇小| 欧美裸体视频网站| 日本中文字幕久久看| 国产成人啪精品视频免费网| 68精品国产免费久久久久久婷婷| 国产精品wwwwww| 一本一本久久a久久精品综合小说| 亚洲免费电影一区| 亚洲一级黄色片| 亚洲激情视频在线观看| 欧美激情va永久在线播放| 亚洲人成77777在线观看网| 久久99视频免费| 亚洲护士老师的毛茸茸最新章节| 久久国产加勒比精品无码| 久久伊人91精品综合网站| 日韩高清有码在线| 午夜剧场成人观在线视频免费观看| 亚洲国产成人91精品| 国产成人精品一区二区三区| 最近2019好看的中文字幕免费| 6080yy精品一区二区三区| 亚洲精品二三区| 国产精品91免费在线| 69av成年福利视频| 欧美超级乱淫片喷水| 成人福利免费观看| 欧美专区在线视频| 亚洲精品一区久久久久久| 国产国语videosex另类| 97精品伊人久久久大香线蕉| 亚洲精品第一国产综合精品| 日韩高清欧美高清| 欧美高清视频在线播放| 国产精品9999| 正在播放欧美视频| 欧美精品在线第一页| 精品视频在线观看日韩| 欧美在线中文字幕| 国产精品一区二区久久| 国产激情久久久久| 欧美成人精品激情在线观看| 黑人巨大精品欧美一区二区一视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 一区二区欧美日韩视频| 97超碰色婷婷| 亚洲精品福利在线| 精品无人区乱码1区2区3区在线| 日韩亚洲欧美中文在线| 国产亚洲精品久久久久动| 亚洲理论在线a中文字幕| 久久国产精品影片| 亚洲欧美日韩一区二区三区在线| 中文字幕日韩在线观看| 欧美性猛交xxxxx免费看| 国产在线视频欧美| 久久精品亚洲94久久精品| 欧美日韩在线视频一区二区| 亚洲福利在线看| 在线成人中文字幕| 成人黄色片在线| 高清一区二区三区日本久| 日韩精品www| 国产精品视频26uuu| 欧美性受xxxx黑人猛交| 国产精品日韩欧美大师| 日韩成人在线播放| 久久久久久久久久久成人| 国产精品久久久久久久电影| 国产精品视频久| 欧美日韩国产综合新一区| 欧美激情视频三区| 亚洲一品av免费观看| 久久久精品一区| 精品久久久久久国产| 久久影院在线观看| 国产欧美在线看| 久久国产精品久久久久| 色樱桃影院亚洲精品影院| 亚洲乱码一区av黑人高潮| 国产精品一区久久| 欧美自拍视频在线| 欧美黑人极品猛少妇色xxxxx| 4438全国亚洲精品在线观看视频| 国产精品一区二区三区在线播放| 国产亚洲精品91在线| 亚洲国产91精品在线观看| 亚洲九九九在线观看| 中文字幕少妇一区二区三区| 欧美日韩国产区| 日韩视频中文字幕| 国产精品爱啪在线线免费观看| 日本一区二三区好的精华液| 亚洲国产精品女人久久久| 视频直播国产精品| 96精品视频在线| 自拍偷拍亚洲区| 精品国偷自产在线视频99| 成人精品一区二区三区电影免费| 国产精品自拍偷拍视频| 久久久之久亚州精品露出| 成人福利网站在线观看| 亚洲人午夜精品免费| 欧美肥老妇视频|