1. 程式人生 > >MongoDB常用命令整理

MongoDB常用命令整理

find 查詢條件

官方文件

操作符 含義 式例
$ lt < db.user.find({“age”:{“$ lt”:18}})
$ lte <= db.user.find({“age”:{“$ lte “:18}})
$ gt > db.user.find({“age”:{“$ gt “:18}})
$ gte >= db.user.find({“age”:{“$ gte”:18}})
$ eq = db.user.find({“age”:{“$ eq”:18}})
$ ne != db.user.find({“age”:{“$ ne”:18}})
$ in in db.user.find({“age”:{“$ in”:18}})
$ nin not in db.user.find({“age”:{“$
nin”:18}})

$slice

官方文件

操作符 含義 式例
$slice 控制查詢返回的陣列的項數 db.user.find( {}, { comments: { $slice: [ 20, 10 ] } } )

聚合

aggregate

處理資料(諸如統計平均值,求和等),並返回計算後的資料結果。有點類似sql語句中的 count(*)
官方文件

project

MongoDB的聚合管道將MongoDB文件在一個管道處理完畢後將結果傳遞給下一個管道處理。管道操作是可以重複的
修改輸入文件的結構。可以用來重新命名、增加或刪除域,也可以用於建立計算結果以及巢狀文件

官方文件

unwind

將文件中的某一個數組型別欄位拆分成多條,每條包含陣列中的一個值。
官方文件

filter

根據指定的條件選擇一個數組的子集。返回僅包含與條件匹配的元素的陣列。返回的元素按原始順序排列。
官方文件

cond

計算布林表示式以返回兩個指定的返回表示式中的一個
官方文件

lookup

執行左連線到一個集合(unsharded),必須在同一資料庫中

{
           $lookup:
             {
               from: <collection to join>,
               localField: <field from the input documents>,
               foreignField: <field from the documents of the "from" collection>,
               as: <output array field>
             }
        }
操作符 含義
from 右集合,指定在同一資料庫中執行連線的集合。此集合不能shared分片
localField 指定左集合(db.collectionname)匹配的欄位。如果左集合不包含localField,$lookup 視為null值來匹配。
foreignField 指定from集合(右集合)用來匹配的欄位。如果集合不包含該欄位,$lookup 視為null值來匹配。
as 指定要新增到輸入文件的新陣列欄位的名稱。新的陣列欄位包含from集合中匹配的文件。如果在文件中指定的名稱已經存在,現有的領域覆蓋。

官方文件

addFields

官方文件
將新欄位新增到文件

map

表示式應用於陣列中的每個專案並返回一個包含應用結果的陣列。
官方文件

setIntersection

接受兩個或更多陣列並返回一個包含出現在每個輸入陣列中的元素的陣列
官方文件

size

計數並返回陣列中專案的總數。
官方文件

mergeObjects

將多個文件合併為一個文件
官方文件

divide

將一個數字除以另一個數字並返回結果。將引數傳遞給陣列中的$ divide。
官方文件

multiply

將數字相乘並返回結果。將引數傳遞給陣列中的$ multiply。
官方文件

檢視集合主鍵盤

db.users.getIndexes()