管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:8 r5 P- _: h+ O- j
2 P7 L0 J3 J( ~- j, t# s9 {db.getCollection('student').find({'age':{'$gt':'20'}})
* o. ?# s8 s2 M. B) P/ t$ W U) b2 j4 F+ `+ P- M" U
& M1 \ \. d4 q( _$ P1 l& ]
. n8 y5 {$ \! C
$lt < (less than )
& A3 M. @. I* S8 w' y: X& q. @5 b9 E
$lte <= (less than or equal to )
! V$ L7 O+ c7 v. p7 I- Q# F- a5 A* V
$gt > (greater than )
! u2 V f, ~$ m: V3 D
# D0 I7 K. ?4 ~1 x: |5 t$gte >= (greater than or equal to)9 g- q% f5 I6 y: X1 ?3 B% }6 w
9 o; f1 U# h$ s" {8 o
4 m3 Y# h; f" i5 b8 w$ m" N: N0 F0 o* F
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
6 `5 ` t6 |# w+ w7 p2 s' {9 U2 j' w0 E8 q% P
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list- {0 E. H, h( a* C- j4 G
3 F2 _7 ^1 h5 f3 S6 [) J( M$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list( o+ ~- n" J9 [: ] U. f3 f+ n
. O8 p/ n# F7 s' c$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字 g6 K7 G/ R/ A* e
7 S5 J. R; O2 v, P# `5 _
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在( Z: |! M& [# O- [. W% W6 f- J/ C0 \
- e: b5 d/ @# G4 ]+ ?/ @; Q
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int. c/ t+ I* D' h! \6 Y& t! t
* k+ m9 z$ t1 c* i$ @1 K+ Y g! W7 h2 e$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串9 \7 W2 ~. O8 p& w% o( A0 @
1 D8 r* G% }9 B" K/ E- S
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})1 N7 }( f, y- h# k+ g
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" R: ?1 ?8 u! r, ]. k
k% i$ t1 r4 b7 e0 f1 ^! v$exists 键是否存在 {finaGoalLine:{'$exists':true}}) k) p7 C! D$ M) P9 {
, x; z9 P+ I* @3 M/ A$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]/ C# q) T" F* o( a2 b" s8 y( x& E
J; J; ?6 G9 }/ v0 M i
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
2 k/ t4 s* r2 x& L$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
+ {) I, m! A# Q9 I$ Y- _3 @) p$ r" V! J( f! s
Y0 m1 [! t- A$ ^9 z9 u* k. l9 E
, F9 f2 O, o, t3 E$ R
) q2 D' L, M/ z8 o1 s
4 ~, @+ K4 g" F5 f) x& r2 Z# @# }1 V, q
6 f+ q! m" t. s$ ^7 F
/ E! c/ x# e a& v! X. I组合使用方法如下:
; Q0 y% J w d1 h( D
# X* G( _! s/ Fdb.user.find({"age":{"$gte":18,"$lte":25}})
& E* }# a/ [; G( c' u3 w* ?5 m1 w
( {6 n: h& C. e* S6 b$ b8 x
1 P. Y4 o0 y. d& [* i0 e9 b
1 \. D; Z! |9 @对于日期的条件查询方法: }8 @$ b9 C: S# e" s
P: A u5 g5 T9 Rdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
8 D+ j: `* A" H& P" n ]
: N4 z6 o* J5 N3 o7 i
7 N5 ?. o7 ]/ m! U! s# H' Y3 r; j* F/ I$ t' R& x
2) 不等于 $ne* J6 c3 r1 y( D6 h2 C% M1 @
/ k( q/ o3 _+ l5 i8 e- k3 M
例子:
' D v; [5 G! V1 _8 w/ y m/ ^/ b ?. d/ U$ o/ v5 r* `
db.taobao.find( { age: { $ne : 10} } );: N" \& o# ~, i, a4 f
php7 查询mongodb方法大全( O* p9 I& c5 j9 F+ u
/ ~$ c- n( Y) b. x; O: J% ~' E" b2 ]" a5 f9 H. r+ ` ~
( @' e3 w! b P, X0 l8 I0 D
2 M9 x; X( p* o$ c( w
+ {8 y( y W3 P$ p8 N& [8 O/ \3 Q/ S+ w3 G+ ^, ^: s5 x3 D
9 W/ U" A$ J7 L! i( R+ |. h/ U
' _& f8 l, e: @; Z$ r" D2 \/ G9 Q
; P; n- q$ x: s1 R* U9 I
6 x; p+ i% c3 E) c/ E" R
: f2 }5 Y& y P2 n" | |
|