<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 概述 語法: ``` db.collection.mapReduce( function() {emit(key,value);}, //map 函數 function(key,values) {return reduceFunction}, //reduce 函數 { out: collection, query: document, sort: document, limit: number } ) map 映射函數 (生成鍵值對序列,作為 reduce 函數參數)。 reduce 統計函數,reduce函數的任務就是將key-values變成key-value,也就是把values數組變成一個單一的值value。。 out 統計結果存放集合 (不指定則使用臨時集合,在客戶端斷開后自動刪除)。 query 一個篩選條件,只有滿足條件的文檔才會調用map函數。(query。limit,sort可以隨意組合) sort 和limit結合的sort排序參數(也是在發往map函數前給文檔排序),可以優化分組機制 limit 發往map函數的文檔數量的上限(要是沒有limit,單獨使用sort的用處不大) ``` ![UTOOLS1578278755865.png](https://static.runoob.com/images/map-reduce.bakedsvg.svg) > 注意map 函數是關鍵把,第一參數為key,第二參數的結果合并為數組 ## 實例 1. 插入數據 ``` db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "mark", "status":"active" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "mark", "status":"active" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "mark", "status":"active" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "mark", "status":"disabled" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "runoob", "status":"disabled" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "runoob", "status":"disabled" }) db.posts.insert({ "post_text": "菜鳥教程,最全的技術文檔。", "user_name": "runoob", "status":"active" }) ``` 2.統計: 選取已發布的文章(status:"active"),并通過user\_name分組,計算每個用戶的文章數 ``` db.posts.mapReduce( function() { emit(this.user_name,1); }, function(key, values) {return Array.sum(values)}, { query:{status:"active"}, out:"post_total" } ).find() ``` 結果 ``` { "_id" : "mark", "value" : 3 } { "_id" : "runoob", "value" : 1 } ``` 3. 統計發布的條數與未發布的條數 ``` db.posts.mapReduce( function() { emit(this.status,1); }, function(key, values) {return Array.sum(values)}, { out:"post_total" } ) ``` 結果 ``` { "_id" : "active", "value" : 4 } { "_id" : "disabled", "value" : 3 } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看