<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          .NET 云原生架構(gòu)師訓(xùn)練營(yíng)(模塊二 基礎(chǔ)鞏固 MongoDB 聚合)--學(xué)習(xí)筆記

          共 2207字,需瀏覽 5分鐘

           ·

          2021-01-06 12:28

          2.5.5 MongoDB -- 聚合

          • 排序

          • 索引類型

          • 創(chuàng)建索引

          排序

          // 升序
          db.getCollection('author').find({}).sort({"age": 1}).limit(20)

          // 降序
          db.getCollection('author').find({}).sort({"age": -1}).limit(20)

          // 組合
          db.getCollection('author').find({}).sort({"age": 1, "name": -1}).limit(20)

          索引類型

          • 單鍵索引

          • 復(fù)合索引

          • 多鍵索引

          • 地理空間索引

          • 文本索引

          • 索引屬性

          • 唯一索引

          • TTL索引

          • 不區(qū)分大小寫索引

          • 稀疏索引

          • 部分索引

          https://docs.mongodb.com/manual/indexes/

          // 使用 explan 查看 mongo 查詢過程中的執(zhí)行情況
          db.author.find({"name": "user1"}).explain("executionStats")

          創(chuàng)建索引

          // 創(chuàng)建索引,-1 代表降序方式創(chuàng)建
          db.collection.createIndex( { name: -1 } )

          // 復(fù)合索引
          db.products.createIndex( { "item": 1, "stock": 1 } )

          //多鍵索引
          { _id: 1, item: "ABC", ratings: [ 2, 5, 9 ] }

          db.survey.createIndex( { ratings: 1 } )

          //地理空間索引
          db.places.insert(
          {
          loc : { type: "Point", coordinates: [ -73.97, 40.77 ] },
          name: "Central Park",
          category : "Parks"
          }
          )

          db.places.createIndex( { loc : "2dsphere" } )

          //文本索引,一個(gè)集合只能創(chuàng)建一個(gè)
          db.reviews.createIndex( { comments: "text" } )

          db.reviews.createIndex(
          {
          subject: "text",
          comments: "text"
          }
          )

          // 索引屬性(唯一索引)
          db.members.createIndex( { "user_id": 1 }, { unique: true } )

          // 索引屬性(TTL索引),可以設(shè)置過期時(shí)間
          db.eventlog.createIndex( { "lastModifiedDate": 1 }, { expireAfterSeconds: 3600 } )

          // 索引屬性(不區(qū)分大小寫索引)
          db.collection.createIndex( { "key" : 1 },
          { collation: {
          locale : ,
          strength :
          }
          } )

          // 索引屬性(稀疏索引)
          db.addresses.createIndex( { "xmpp_id": 1 }, { sparse: true } )

          // 索引屬性(部分索引)
          db.restaurants.createIndex(
          { cuisine: 1, name: 1 },
          { partialFilterExpression: { rating: { $gt: 5 } } }
          )

          覆蓋索引:所有查詢字段是索引的一部分,所有查詢返回字段在同一個(gè)索引中

          低效操作:

          • 取反效率低(比如不等于,因?yàn)榈扔跁?huì)命中索引,取反不會(huì))

          • $nin 總是進(jìn)行全表掃描

          • 一次查詢只能使用一個(gè)索引,$or 除外,但 $or 使用多個(gè)索引查詢之后再將結(jié)果進(jìn)行合并的效率并不高,所以不推薦使用(盡可能使用$in)

          • 嵌套對(duì)象字段索引與基本字段的處理方式一致

          使用索引的場(chǎng)景:

          • 集合較大

          • 文檔較大

          • 選擇性查詢

          // 后臺(tái)創(chuàng)建索引,如果使用工具線程,可能會(huì)阻塞查詢
          db.people.createIndex({zipcode: 1}, {background: true})

          索引基數(shù):數(shù)據(jù)類型多,索引基數(shù)高,索引效率高,如果數(shù)據(jù)比如性別只有男,女兩種數(shù)據(jù),索引效率低

          課程鏈接

          .NET云原生架構(gòu)師訓(xùn)練營(yíng)講什么,怎么講,講多久


          歡迎各位讀者加入微信群一起學(xué)習(xí)交流,
          在公眾號(hào)后臺(tái)回復(fù)“加群”即可~~


          瀏覽 31
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大操在线| 日本A片在线观看 | 熟女日逼| 日批在线免费看网站 | 亚洲天堂无码 |