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

首頁 > 數據庫 > MongoDB > 正文

MongoDB查詢技巧總結

2020-03-14 13:26:39
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MongoDB查詢技巧總結,例如AND、OR條件查詢,子文檔查詢等,需要的朋友可以參考下
 
 

在MongoDB中db.collection.find()方法用于從集合中檢索文檔。db.collection.find()方法返回一個檢索到文檔的游標。db.collection.findOne()方法也執行讀操作,返回一條文檔。在內部實現上,db.collection.findOne()方法是db.collection.find()使用limit 1。

查詢集合中的所有文檔:

1.一個空的query文檔({})可以查出一個集合中的所有文檔:

復制代碼代碼如下:
db.inventory.find( {} )

 

2.沒有指定query文檔的find()等價于指定一個空query文檔的查詢。因此,下面的查詢和上面的查詢時等價的:

復制代碼代碼如下:
db.inventory.find()

 

指定相等條件:
使用{<field>:<value>}文檔指定相等條件,查詢所有包含<field>字段,值為<value>的文檔。下面的例子從inventory集合中檢索所有type字段值為snacks的所有文檔:

復制代碼代碼如下:
db.inventory.find( { type: "snacks" } )

 

使用query操作符指定條件:
在MongoDB中可以使用query操作符指定條件。下面的例子從inventory集合中查詢type字段的值為'food'或者'snacks':

復制代碼代碼如下:
db.inventory.find( { type: { $in: [ 'food', 'snacks' ] } } )

雖然這個查詢可以使用$or操作符,但是對于同一個字段的相等檢測使用$in而不是$or。

 

指定AND條件:
符合查詢可以在條件中指定多個文檔字段。邏輯AND連接一起的復合查詢條件,查詢符合所有條件的文檔。下面例子中,query文檔指定等于food和price字段小于($lt)指定值的查詢條件:

復制代碼代碼如下:
db.inventory.find( { type: 'food', price: { $lt: 9.95 } } )

這個查詢選擇所有type字段值等于food,而且price字段值小于9.95的文檔。

 

指定OR條件:
使用$or操作符,可以指定一個使用邏輯OR連接的復合查詢,查詢選擇集合中至少匹配一個條件的文檔。下面的例子中,查詢集合中所有qty字段值大于($gt)100或者price字段值小于($lt)9.95的文檔:

復制代碼代碼如下:
db.inventory.find(
    { $or: [
        { qty: { $gt: 100 } },
              { price: { $lt: 9.95 } }
      ]
    }
)

 

同時指定AND和OR條件:
使用更多的條件,可以指定精確的查詢條件。在下面的例子中,符合query文檔選擇集合中所有type字段值為'food',并且qty的值大于($gt)100或者price值小于($lt)9.95的文檔:

復制代碼代碼如下:
db.inventory.find( { type: 'food', $or: [ { qty: { $gt: 100 } },
                                                  { price:{ $lt:9.95 } }
                                                ]
                          } )


子文檔:
         當字段包含嵌入的文檔(即子文檔),可以指定整個子文檔作為一個字段的值,或使用點符號“進入”子文件,指定該子文檔的各個字段的值:
1.精確匹配子文檔:
指定一個相等條件匹配整個子文檔,使用query文檔{<field>:<value>},<value>用于匹配子文檔。“相等”匹配子文檔需要子文檔的字段精確匹配<value>條件,包括字段的順序。下面的例子查詢producer字段的值匹配一個僅包含值為“ABC123”的company字段和值為“123 Street”的子文檔,并且有先后順序:
       
復制代碼代碼如下:
db.inventory.find(
                             {
                                 producer: {
                                       company: 'ABC123',
                                       address: '123 Street' }
                             }
                          )


2.子文檔字段“相等”匹配:
查詢集合中指定字段的子文檔的字段包含指定條件的文檔。下面的例子使用點符號查詢producer的子文檔的conmpany字段值為“ABC123”的所有文檔:
       
復制代碼代碼如下:
db.inventory.find( { 'producer.company': 'ABC123' } )

 

數組:
        當字段值是一個數組時,可以使用數組精確匹配或者在數組中指定值。如果數組元素是一個子文檔,可以使用點符號指定字段。
精確匹配數組:
        在數組中指定相等條件,使用query文檔{<field>:<value>},<value>是用于匹配的數組。數組的精確匹配需要數組的字段完全匹配指定的<value>,包括元素的順序:
       

復制代碼代碼如下:
db.inventory.find( { tags: [ 'fruit', 'food', 'citrus' ] } )

匹配一個數組元素:
        可以在數組中指定一個單獨的元素用于"相等"匹配。這種規范匹配的數組至少需要包含一個指定的元素。下面的例子將匹所有tags是一個數組且包含"fruit"元素的文檔:
        
復制代碼代碼如下:
db.inventory.find( { tags: 'fruit' } )

匹配數組的指定元素:
        在數組中匹配指定索引或位置與條件相等的文檔。下面例子中,使用點符號匹配所有tags是一個數組,且第一個元素是"fruit"的文檔:
       
復制代碼代碼如下:
db.inventory.find( { 'tags.0' : 'fruit' } )

子文檔數組:

 

使用數組索引匹配子文檔的字段:
        如果知道子文檔數組的索引,就可以指定子文檔的位置。下面的例子查詢所有memo包含一個數組且第一個元素是一個子文檔,子文檔的by字段值為"shipping"的文檔:
       

復制代碼代碼如下:
db.inventory.find( { 'memos.0.by': 'shipping' } )

匹配一個字段不使用數組索引:
        如果不知道子文檔的索引位置,使用點連接數組的字段名稱和子文檔字段名稱。下面的例子查詢所有memos字段是一個數組,且數組包含至少一個by字段值為"shipping"的子文檔的文檔:
       
復制代碼代碼如下:
db.inventory.find( { 'memos.by': 'shipping' } )

匹配多個字段:
        為了在子文檔中匹配多個字段,可以使用點符號或者$elemMatch操作符。下面的例子使用點符號查詢memos字段值是一個數組,并且子文檔memo字段等于"on tiem",by字段等于"shipping"的文檔:
   
復制代碼代碼如下:
db.inventory.find(
                       { 'memos.memo': 'on time', 'memos.by': 'shipping' }
                 )

        下面的例子使用$elemMatch操作符查詢memos字段值是一個數組,并且子文檔memo字段等于"on tiem",by字段等于"shipping"的文檔:
       
復制代碼代碼如下:
db.inventory.find( {
                     memos: {
                                $elemMatch: {
                                              memo : 'on time',
                                              by: 'shipping' }
                            }
                   }
                 )

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产亚洲视频在线| 国产精品视频免费在线| 亚洲xxx视频| 欧美成人亚洲成人日韩成人| 成人免费视频在线观看超级碰| 日韩不卡中文字幕| 欧美精品videossex性护士| 国产香蕉97碰碰久久人人| 久久久久中文字幕| 91日本在线视频| 庆余年2免费日韩剧观看大牛| 日本久久久a级免费| 97精品国产91久久久久久| 久久成人免费视频| 精品久久久免费| 91亚洲国产成人久久精品网站| 亚洲精品网站在线播放gif| 亚洲大胆人体av| 久久躁狠狠躁夜夜爽| 中文字幕精品久久久久| 美女精品久久久| 国产精品久久久久久五月尺| 91禁外国网站| 91日韩在线视频| 国产亚洲精品成人av久久ww| 久久激情视频免费观看| 日韩av中文字幕在线播放| 日本亚洲欧美三级| 亚洲偷熟乱区亚洲香蕉av| 日韩视频亚洲视频| 国产在线98福利播放视频| 97人人做人人爱| 亚洲国产古装精品网站| 欧美性猛交xxxx偷拍洗澡| 国产一区二区三区在线视频| 亚洲第一区第一页| 日本精品久久久久久久| 欧美中文字幕在线观看| 亚洲国产欧美一区二区三区同亚洲| 日韩av一卡二卡| 最近更新的2019中文字幕| 亚洲最大成人网色| 成人精品久久一区二区三区| 日韩三级成人av网| 另类专区欧美制服同性| 成人国产在线视频| 欧美日韩成人在线播放| 91精品国产99| 亚洲午夜久久久影院| 日韩精品免费在线播放| 91影视免费在线观看| 亚洲成av人乱码色午夜| 久久人人爽人人爽爽久久| 中日韩美女免费视频网址在线观看| 久久国产精品亚洲| 欧美日韩中文字幕在线| 最近2019好看的中文字幕免费| 久久久久久久香蕉网| 欧美日韩国产一区中文午夜| 国产精品免费在线免费| 日韩一区二区欧美| 欧美日韩国产丝袜另类| 亚洲国产精品va| 国产精品美女视频网站| 午夜精品理论片| 精品国产美女在线| 8090成年在线看片午夜| 亚洲精品自拍偷拍| 久久69精品久久久久久国产越南| 欧美亚洲另类激情另类| 国产精品极品尤物在线观看| 日本精品视频在线| 欧美亚洲国产视频小说| 精品国产一区二区三区久久| 国产精品久久婷婷六月丁香| 亚洲成人av在线播放| 日韩成人av一区| 欧美黑人xxx| 亚洲网站在线观看| 日韩一区av在线| 美女久久久久久久久久久| 久久影院资源站| 丁香五六月婷婷久久激情| 国产精品久久视频| 精品亚洲一区二区三区在线播放| 亚洲午夜精品久久久久久久久久久久| 欧美一区三区三区高中清蜜桃| 亚洲春色另类小说| 久久久电影免费观看完整版| 亚洲国产精品成人av| 欧美激情手机在线视频| 欧美午夜视频在线观看| 亚洲国产精品成人一区二区| 亚洲免费小视频| 欧美最顶级的aⅴ艳星| 亚洲美女中文字幕| 亚洲一区二区在线播放| 免费不卡在线观看av| 国产精品稀缺呦系列在线| xxxx欧美18另类的高清| 久久频这里精品99香蕉| 国产成人精品视频在线观看| 青青青国产精品一区二区| 最近2019年中文视频免费在线观看| 国内伊人久久久久久网站视频| 久久久久久久影院| 国产成人自拍视频在线观看| 国产精品毛片a∨一区二区三区|国| 亚洲男人的天堂在线播放| 国产精品高清在线观看| 精品久久久久久中文字幕大豆网| 国产mv免费观看入口亚洲| 欧洲亚洲免费视频| 欧美丝袜美女中出在线| 日韩av在线网站| 亚洲成人三级在线| 亚洲福利视频专区| 国产91露脸中文字幕在线| www高清在线视频日韩欧美| 国产成人在线一区| 中文字幕久精品免费视频| 欧美亚洲伦理www| 欧美性xxxx极品hd满灌| 日韩欧美在线观看| 97超级碰碰碰久久久| 国产成人一区二区在线| 人人做人人澡人人爽欧美| 欧美性猛交xxx| 亚洲成人精品久久| 久热精品在线视频| 国产精品免费观看在线| 77777少妇光屁股久久一区| 欧美激情在线狂野欧美精品| 日韩av大片免费看| 亚洲xxxx视频| 亚洲黄色成人网| 亚洲人在线视频| 久久精品国产久精国产一老狼| 日韩福利在线播放| 国产精品丝袜久久久久久高清| 中文字幕日韩欧美| 88xx成人精品| 亚洲综合中文字幕在线观看| 国产精品久久久精品| 亚洲国内精品在线| 欧美一级大胆视频| 国产999精品久久久影片官网| 国产精品观看在线亚洲人成网| 精品无人国产偷自产在线| 久久久女人电视剧免费播放下载| 亚洲一区二区三区四区视频| 国产一区二区三区视频| 中日韩美女免费视频网站在线观看| 国产精品久久久久久久7电影| 亚洲成色777777女色窝| 精品久久久国产| 北条麻妃久久精品| 亚洲欧美www| 亚洲精品日产aⅴ| 热久久视久久精品18亚洲精品| 亚洲欧洲一区二区三区久久| 亚洲精品视频中文字幕| 中文字幕欧美日韩va免费视频| 中文字幕视频在线免费欧美日韩综合在线看|