mongo CRUD資料操作符彙總

2021-07-01 19:52:13 字數 4022 閱讀 8461

比較

name

description

$eq等於

$gt大於

$gte

大於等於

$lt小於

$lte

小於等於

$ne不等於

$in在條件中

$nin

不在條件中

邏輯

name

description

$or或者

$and

且$not

非$nor

既不也不,nor:,名字不等於』bugall』,age不等於12

元素

name

description

$exists

字段是否存在

$type

欄位的字段型別

陣列

name

description

$all

獲取所有滿足條件的資料

$elemmatch

獲取所有滿足條件的資料,下面有具體講解

$size

如果是陣列形式的返回值,定義其返回陣列元素個數

備註

name

description

$comment

給命令加上一條描述或是備註

$where

db.mycollection.find(  );

db.mycollection.find( );

db.mycollection.find( } );

db.mycollection.find( } );

where接受字串函式兩種形式的引數,其中也提供了一些函式。
assert()

bindata()

dbpointer()

dbref()

doassert()

emit()

gc()

hexdata()

hex_md5()

isnumber()

isobject()

isodate()

isstring()

map()

md5()

numberint()

numberlong()

objectid()

print()

printjson()

printjsononeline()

sleep()

timestamp()

tojson()

tojsononeline()

tojsonobject()

uuid()

version()

注意:

因為用了$where後mongo生成的執行計畫不能很好的利用索引,所以這裡不建議大家使用$where
$all

選擇滿足條件的所有資料(documents)。
}
$all的功能是和$and的功能相同的,例如$and:
,  ] }
$and

,  ] }
$batchsize

db.inventory.find().batchsize(10)
控制返回結果的資料數量(多少條資料),注意,在mongo shell裡,batchsize()的設定並不會生效。同時distinct()也不會生效
$box

db.places.find(  }

} )

定義乙個"盒子",2個點可以確定乙個"盒子的位置"(我們把盒子理解為二維平面的矩形),那麼

上面這句話的意思就是找出在這個"盒子內的點",[22,22],[13,75],[19,24]這些值都將被

返回

$center

db.places.find(

} })

返回所有在這個平面圓裡的點(圓心座標是(-74,40.74),圓半徑是10)
$comment

db

.collection

.find( , $comment: } )

可以理解為為每一次執行加入一條備註,這些備註會被記錄在profile裡,有助於後期排錯
$count

db.collection.find(  ).count()
計數
$distinct

db.collection.distinct(field, query)
去重
$elemmatch

} }

db.scores.find(

} })

滿足一區間
$exists

}

db.records.find( } )

result:

db.records.find( } )

result:

$find

query.find().find(callback)
查詢所有滿足條件的資料
$findone

query.findone().find(callback)
返回乙個滿足條件的資料
$findandmodify

field

description

query

一條普通的請求語句,可能會得到多條資料,但是findandmodify只會處理第一條資料

sort

因為findandmodify只能處理一條資料,所以通常我們會把query得到的資料進行排序

remove

如果為true則移除query後的第一條資料,預設為false

update

更新query後的第一條

new當被設定為true的時候,則返回修改後的資料而不是原始資料,預設為false

fields

設定分組

upsert

當值為true時,更新的值如果存在則更新,如果不存在則插入。預設為false

db.people.findandmodify( ,

sort: ,

update: },

upsert: true,

new : true

} );

c語言操作符 位操作符 移位操作符

1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...

linq操作符 限定操作符

限定操作符運算返回乙個boolean值,該值指示序列中是否有一些元素滿足條件或者是否所有元素都滿足條件。一 all操作符 all方法用來確定是否序列中的所有元素都滿足條件。看下面的例子 1 using system 2using system.collections.generic 3using s...

前置操作符和後置操作符

操作符可以被過載 全域性函式和成員函式均可以進行過載 過載前置 操作符不需要額外的引數 過載後置 操作符需要乙個int型別的佔位引數 來看乙個例子 include include using namespace std class test intvalue test operator test o...