MongoDB常用命令整理
阿新 • • 發佈:2018-12-10
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”:{“$ |
$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()