管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:3 w" {, Y8 ?. r5 R/ S5 ]/ |5 V" N
, r" K) h/ I0 j" g$ d4 q; O( Pdb.getCollection('student').find({'age':{'$gt':'20'}})) ~* {% `, q' r, x& X6 O
. V% i0 J9 p5 I3 t3 q; o. o
1 }4 ?; |4 I0 p' o
& Y' e m* N' W0 a. a: y4 H& P2 F
$lt < (less than )
! X) S4 j& [, `% X* J: u, P/ r- h) N0 T3 y0 P' U7 R1 \
$lte <= (less than or equal to )
, C% e. v3 d0 y! I* A# R2 L/ G+ T9 M7 }& _9 z
$gt > (greater than )& U: |9 @; }9 w+ S2 h- G
2 n5 C6 E7 m! ]6 X
$gte >= (greater than or equal to)
H7 q7 h# Y: z% F0 S! P
/ S2 W8 ~) x/ U! q* w) t8 _, p3 B" [4 F" S5 Y
3 C3 P9 S8 p6 P; S/ E2 F3 b& w$ne != (not equal to)不等于 {'age': {'$ne': 20}}
6 C3 g7 d+ D" n' f* u8 {0 U/ v. l
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
* N2 ]2 f9 D- ]' U% v: n$ [" z" D0 ]7 D; t
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list' j* F; h6 _, V# ~( ]
/ q" m) j0 Y( W3 s
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
N' m- u# E: k& V; Y1 Z2 }: l! l4 G" T, Y! o1 e
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
; B1 J& ?( B5 j" F& w
5 I$ X! X( M# u7 C$type 类型判断 {'age': {'$type': 'int'}} age的类型为int s* h8 c4 t) }/ X! Q# Z# g
* V8 Y' \+ O& U& h3 q$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
2 |0 ]8 i7 l6 b& L# B% L, Y: _3 ~1 G# k5 l( P( R7 ?
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
* C* f! o4 b* |9 [: ~! x5 g! K' i+ h$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" t% t9 u* h, U4 `# T
) a4 ]- X$ l2 P A$ G' `$exists 键是否存在 {finaGoalLine:{'$exists':true}}
! l) x) K2 |# V7 c; g7 n
. S- e6 c" @. ~: \$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]+ a: m9 ^7 A' M$ P7 P5 H6 o$ y
" z! t: e# [; C0 I$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
( n: q3 u3 ^/ P4 {$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
2 Y: g/ Q+ B1 b0 x
( ^, W0 |. w& O/ V( B
5 v; v0 W: {- S: D: S: x
0 E J" m; Y P( q: ? Y
/ r! k* M7 J1 z- p: }7 g
& e& i0 P$ c$ L
0 B6 M- Q3 H' |7 C: y/ {8 K& s& Q7 W) n+ `
$ o* b7 i, P1 g b组合使用方法如下:
7 q$ d1 Q: F- a- |; Z* U1 K: V
; c. B$ a; B- I: G+ [+ @- fdb.user.find({"age":{"$gte":18,"$lte":25}})
- f, e/ ]6 d2 e; {* {8 E
7 l0 [1 S) E' R% C, A4 {3 ?& p
7 p/ g; P6 K8 e u9 Q+ B, d
) R# e! _6 |/ J4 z4 T对于日期的条件查询方法:3 k- j- |. x; w) \
. A: d- L5 Q7 \; i C/ E
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
( `( J" C/ H3 g# [; d+ k& K- x6 z! E; o0 n% g
( r" T N4 P1 V3 `) `+ r+ z: [6 o5 ^# ]7 _& v
2) 不等于 $ne" p" A+ ?& _1 }0 P8 y$ ~) p
, j' n1 e6 B& K8 l# T, K, z
例子:
) }; `; d6 l, S9 n1 s: G: v' J; o6 I6 H; s
db.taobao.find( { age: { $ne : 10} } );! t% G$ u; @5 y; c- P0 F* H
php7 查询mongodb方法大全
+ h0 t- Y j8 u1 w, E# b# I9 Y6 ?, q0 O- k9 e1 S
. K1 p9 o# o. B$ w3 ]& D
2 U& _4 s8 n# G8 M; G2 n: }' d& Z/ J
7 A5 s( p5 W" _" h
3 H/ D/ h# w* D% B) w1 g
6 {2 Q) o; p3 q, D3 M( F: o7 A: c! P
5 q/ P' U8 z5 Q) [ H! p0 c8 A( I9 A, E2 v# X1 P8 D" h
0 d( w; {9 H# C( e" C
' l# X! @. M' L5 v
|
|