管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
- s$ p& T4 M( D, \2 E/ w, m
' H2 _ Q( |5 w% Z; adb.getCollection('student').find({'age':{'$gt':'20'}})
7 r6 o* w! o- ~
& ~% i, T. O) K+ O y! p: r) K* v1 z
; m- l: Y1 P( R4 l+ R( V7 ^" D% d# S/ E" A9 Z, }7 y" l
$lt < (less than )
! P- Y s: c7 ~3 h: t* O- \
. y# \# k! Q3 Q$lte <= (less than or equal to )
+ e: J f5 P) Q' J7 S3 d2 a
u: c2 c6 |# U' ] _$gt > (greater than )4 f9 a+ P& D c% ^
! A2 U$ d* d7 `/ g: R l$gte >= (greater than or equal to)/ p: a+ t8 `) h; \
: y4 n% X( ~% K
7 p: b( d8 a- Y/ S# H9 R
5 B; b4 w9 U" S! e6 i$ne != (not equal to)不等于 {'age': {'$ne': 20}}4 E& Q2 R+ @) R3 C" A. D
2 @5 C7 O! m2 h$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
2 R: \1 D# I: \6 r4 I- |6 g* B
( g4 M2 x$ F& p; \2 R$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
$ I4 Q# H2 y" K* [3 D; h) H# S; P! m6 b( h% o! g
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
" j& {# C4 F- I% N
) `+ L' r9 h" r$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在# {' @6 S% }6 x
+ d% G# E/ i: z% @) |
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
& e* e. S8 c2 n; |1 J+ H% _$ M, G4 A4 M2 V2 t1 o% y4 g
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
5 t1 h) ]! J% _8 ?4 M8 j& a2 ~: t+ t' G4 s/ f6 M
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
7 G# \+ T4 s# h K$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
- O/ a3 a x1 m4 R) F1 w8 ]; Z/ v& t* I' R1 O# t! E6 U$ ]+ \
$exists 键是否存在 {finaGoalLine:{'$exists':true}}# A y% b& F( o' m* F" n8 V
4 q: |# `1 ~) {9 W8 F1 Y4 I: \$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
* s4 n$ ] e7 Y+ x6 t( g* c4 E S& T$ K6 ^. D
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
' f3 b' R x f$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 1 ^) t( m6 d8 c, i9 X$ V1 {
* d( @; `! ?8 L
( ~& L8 i6 g: O# i: N- f& x+ `4 K, ?
/ K, t( \6 @6 P2 G
( B- \, \ j! W; R2 b: O' U$ n
/ Y# s* I# ~# e' V, W0 e5 F. |
& I$ K. o2 n" f% ?# k) L }6 |
q) N8 i5 ^) \, L& G组合使用方法如下:2 B. `% B. w$ @9 B$ c% m' s
2 P2 W8 ^2 O8 v; |0 Zdb.user.find({"age":{"$gte":18,"$lte":25}})
% U4 C8 n6 Y( k
) H+ G! W& V! t" z1 u" u/ S5 p: [* r( F7 N
( p2 N B0 i5 U: Z: _1 x对于日期的条件查询方法:
4 ]. `) _! t, F2 K: Q7 b
2 m' @6 n0 m! w/ u- m3 ^db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
$ ]1 [5 c% \5 H' f: k5 w: t
! n# Q- r' }( p W' s J& E
0 C4 e# k$ T F* P7 j$ l9 g$ A$ j
2) 不等于 $ne
9 Y* j% k7 z0 A- Q' Q
/ L8 B0 H2 B# Q3 [例子:
1 v2 t! j9 G B9 j
' [. K1 t2 U" ^! ` s# U6 Pdb.taobao.find( { age: { $ne : 10} } );
% p0 B1 ~9 w0 a2 S6 H+ ]' M Tphp7 查询mongodb方法大全
2 k* d' p2 `6 l$ i8 ?& N( l
0 c* F# y# v+ a+ ]+ W
& |) K0 I2 Z D4 e& |6 M0 n" E# z
, a7 X6 |% Y" v4 Y% M" C/ b- m* ^- u& U) Y7 e, F5 n
' ]& w2 I+ f. [/ t4 ~$ b
, W, y3 U$ f3 y$ i
% u* ?, R- _& z7 b! |0 |. w, {. y7 H1 k: i( ?) D
2 _: b' r5 o& t- ]8 W
! i) ~; N; O$ U! Z/ S" W# _7 [
# g/ ~' X- S. s* B5 j
7 X, u) X7 j v |
|