婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MongoDB查詢技巧總結

MongoDB查詢技巧總結

熱門標簽:機器人外呼系統軟件存在問題 福州電銷機器人源代碼 高德地圖標注商戶位置 沈陽營銷電銷機器人招商 南京400電話怎樣辦理 兗州電話外呼營銷系統 徐州ai電銷機器人原理 智能電銷機器人銷售話術 企業智能外呼系統價格多少

在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' }
                            }
                   }
                 )

您可能感興趣的文章:
  • MongoDB中多表關聯查詢($lookup)的深入講解
  • Mongodb實現的關聯表查詢功能【population方法】
  • MongoDB各種查詢操作詳解
  • MongoDB查詢操作限制返回字段的方法
  • PHP中MongoDB數據庫的連接、添加、修改、查詢、刪除等操作實例
  • MongoDB下根據數組大小進行查詢的方法
  • MongoDB導出查詢結果到文件例子
  • MongoDB如何對數組中的元素進行查詢詳解
  • MongoDB查詢性能優化驗證及驗證
  • mongodb實現同庫聯表查詢方法示例
  • MongoDB的基礎查詢和索引操作方法總結
  • MongoDB多表關聯查詢操作實例詳解

標簽:吉安 丹東 大理 昭通 本溪 鶴崗 景德鎮 邯鄲

巨人網絡通訊聲明:本文標題《MongoDB查詢技巧總結》,本文關鍵詞  MongoDB,查詢,技巧,總結,MongoDB,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB查詢技巧總結》相關的同類信息!
  • 本頁收集關于MongoDB查詢技巧總結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 平凉市| 瑞丽市| 信丰县| 巴塘县| 南靖县| 巴塘县| 隆尧县| 开阳县| 奇台县| 囊谦县| 侯马市| 化州市| 荥阳市| 府谷县| 松阳县| 许昌市| 许昌市| 隆昌县| 景宁| 兰西县| 西林县| 金华市| 定日县| 新乡市| 和平区| 江门市| 舞钢市| 浠水县| 卢龙县| 通江县| 雷波县| 木里| 荔波县| 筠连县| 永胜县| 无棣县| 寿阳县| 临洮县| 成都市| 平乡县| 波密县|