管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:4 q+ e8 G$ _2 C
- j9 R- D5 _) H* U* N5 p0 ^db.getCollection('student').find({'age':{'$gt':'20'}})
. F- f, Z, T9 M6 m' |& S
0 v0 }! W6 i9 B( e0 m, z: C
0 T! q2 d* {9 x5 E8 d- z
/ h# @% t- j2 _; {1 r8 a3 m& ?$lt < (less than )/ U( q+ a2 w y) W% ?( D0 r- o* z
$ L6 Q: [ O* v8 i$lte <= (less than or equal to ); o. x, C3 H) h
0 E2 P, x1 E j, h5 S& q$gt > (greater than )4 ^: Z+ Z! b \( y, m% }$ T
) L; s& G( s" R5 J8 f
$gte >= (greater than or equal to)8 R5 B. M2 B$ g# u
; e* A9 g2 k( m7 s8 b. Q
5 E2 q( n( W3 N# m4 Y1 Q( ] E. c/ L) K/ d u% T
$ne != (not equal to)不等于 {'age': {'$ne': 20}}2 o6 o" J; o* B/ T& h
. p1 V3 o4 Y6 n$ g: d& Z: q, `' Y
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list F- z J% b4 W4 O# V# P$ n% n3 Q
& [: L1 W3 \* {8 C, a
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list9 S" F" i& o6 ]( H" u1 Y
# h9 \$ [1 M$ N$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字/ K C ?2 \- L4 u0 w( p" u7 R
7 }( {% t# o9 H+ h( u
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
r# w: ]) Y9 T) D2 g9 ^; t2 Y( s; V1 X" O! U( l8 G5 W @
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
+ ]% V+ V/ ^* v# b( M2 i; h6 I/ z, [* b+ x! z: X
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
4 c; Y4 H" g/ C" H
: g8 L4 Q: t* V8 O- G6 f3 @$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
$ C: C5 ~2 e& p+ J$ t$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
# C$ D( f$ ?/ O% T) r+ {% {: K% p/ A+ j0 y) x
$exists 键是否存在 {finaGoalLine:{'$exists':true}}, l, F' U3 n1 n! l/ q: d
" J% V S. C4 [7 l2 N
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]& }. d5 p9 [ I0 l1 [. `: [
3 q6 B# H4 M9 v$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
& x) V& I1 }" G9 v1 z9 T: _$ C$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 & f9 s" b3 ?) N' W
- a9 I! `9 T+ p0 F! ^
& ~# o. m3 T$ N. }9 R. w! W. `* Q1 _$ @& M0 j& Z; o) b
! [5 g7 ]! l6 G) H( a
: D" [" F" ?/ N& D
' j( ~) o7 w8 y6 |% C
1 c, F# p h2 G! c8 |/ F
2 p+ V6 z6 T+ C! g, A& A8 N
组合使用方法如下:# S/ w5 q- a: C7 Q8 |' y2 o9 q I6 r
7 j( L( @; V- p* n
db.user.find({"age":{"$gte":18,"$lte":25}}), x+ H! C! k4 R/ ?: I
. q9 X! w' U! z
5 b) ]6 j; i0 ?- x/ V# Z3 _: Z' S
; N8 l& l+ j% S9 r+ x- G0 i对于日期的条件查询方法:
- V3 K4 B3 n$ G) S n: Q% o+ g* Y E$ t; |$ Y! I$ p
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
4 u9 F# B! M0 p& U- u
# E- Q: M/ C; Q7 I& I& Q) v$ n9 @1 D+ K8 F2 c' U1 B4 B" x
. X* F b2 X5 _3 `) e5 J
2) 不等于 $ne
7 L8 m) \# X! R9 A* l( ]* |4 Z0 J0 |# Q8 k
例子:; U- m2 z" a5 b x
9 S! y2 N+ K9 `db.taobao.find( { age: { $ne : 10} } );4 Z8 M; _: M3 r' Q8 _" V
php7 查询mongodb方法大全
9 M$ K9 F8 U7 x0 D& g% |9 @
/ F% k0 }9 u, w2 C
2 a& z6 q5 Y' Q2 K' K6 l0 _6 Z7 p# \
* Q' n4 M8 o* G2 n5 m0 J" x! ?
0 m: C( j, f" k2 A4 \& b) w' F; r, X9 ]! L' L# g8 A5 g
4 r5 I [, b2 B* Q
3 m1 e% a P, _. c0 s9 _/ a: N
, u* h; l' }: J2 U" m0 S- h/ Y# {1 \' P( B3 v/ w
' ~: p6 }/ b7 L# h( C) D3 x
|
|