管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
' F. |5 c5 S3 ?8 l! z$ N( U# d4 I1 F
( K3 S& o) B6 v7 O# z0 i7 mdb.getCollection('student').find({'age':{'$gt':'20'}})
/ M. b- W- @) T( g9 a+ Y; ~2 U! _& U5 o7 H7 f) m
- V6 R0 F, K) w e0 [. j6 q
) K5 a9 Y( C0 F( ` n4 v' P( F
$lt < (less than ): Y+ o+ J5 m3 e$ P+ R5 } t6 e
3 W( g6 L/ r$ ]; m2 l O" f7 k9 i" A. V
$lte <= (less than or equal to ) e# P: v U# o9 U
" n6 P5 O T ^6 L: Y, g( g
$gt > (greater than )
" V, n8 C0 q4 p8 u4 U
5 y: G, Q- ^2 f' x$gte >= (greater than or equal to)
5 q& ^* \5 c5 j1 P( Y% Q* l5 _) s& g% g' s' {) v7 i* i( Y- D5 n
. i9 \+ B5 w8 Z# N4 m8 b5 [( _- W
z& [- L7 q, |: Q; b: T) J$ne != (not equal to)不等于 {'age': {'$ne': 20}}, [. ^& r) p: g
6 @3 N0 P7 B, f6 M6 B7 w1 F
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
9 [ M0 R. B8 r* {$ J- |
+ C/ e2 S" {) S+ A* N1 |$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list9 z4 Q# E3 \+ \/ [% h- \
# w* U: I1 S; J% G" ?$ Q! L; `$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字" C# b$ d% g0 ~1 R4 b( O3 e. D
' I% C3 Y1 ]3 c Z/ _4 F% i* M$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在$ t9 e: \7 l: X( P
( [. R7 R& U$ n! u$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
/ I p" m# L: M5 D4 l
7 [: I) m5 Q$ Q5 O: D' R- t4 @9 W$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
1 S4 T3 U# _, u' m2 i
. V# j- r" N# o$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]}) ^; O7 l. e- r3 V
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);8 h0 X- O: n! m. D0 @7 O8 V- r
6 C& f3 I5 p. L; M6 H) w! c& \
$exists 键是否存在 {finaGoalLine:{'$exists':true}}8 g1 t. x" G9 R: z6 v
+ X4 L1 R. ^8 G* E t$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]* x' \* O7 }( l* K& R3 G
$ d2 `, M7 B7 G' q$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],% `: I2 ]. |# S1 N' Z
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 9 ~, F1 f) Y7 t) a6 h
& D5 Y9 E- ^' \5 x
1 d' Z) A1 _2 Q( R3 R F, ^5 q3 i: A1 P
; p$ @7 c! v& l( K5 ?9 J- x
0 x) i$ o, [. y1 V* h$ d
3 v: \, z/ _4 X4 r; m- n
5 K5 H' w h7 H7 ^
% f. r; v; l/ c4 r6 Y3 ]组合使用方法如下:3 i; Z. I3 g) V3 m6 w! D. P+ b
, q5 i) F: |$ ?db.user.find({"age":{"$gte":18,"$lte":25}})
" N# Y: t; H6 @ o/ z0 @% N# d3 L4 a' `
0 ]0 i d0 X" {3 e9 Y4 G0 K* s: _6 R' j' J* _; n$ G
对于日期的条件查询方法:
5 z4 Y" a2 e! u1 a: D. }/ f( u: k; B5 H5 u% `- W7 E. l' F5 m1 q
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}}). i4 L8 U( C5 W" x: e! s
; l0 A' e" D9 V, S4 x* R7 w, |; A
$ s' |' I0 t( o5 z1 Y& b( U/ K* T$ h; {( _. \
2) 不等于 $ne
9 ?& M( m( Q, f& v. B9 w' S+ c; H7 h* t I# A2 c
例子:
/ A) ?/ P4 K/ O: }' j1 Y7 t* ]+ Y+ S, J
db.taobao.find( { age: { $ne : 10} } );
/ T8 m0 n; w9 G7 k5 Nphp7 查询mongodb方法大全& ^5 A$ |) w6 {$ H8 Q( \4 g: z8 s
W, M( Y$ j( w& o ^2 h+ y- @- i+ S: o
+ a: o0 r1 m+ {) Z8 G
% V, H; V N/ s9 `6 F8 q J4 v: D1 C3 g2 h5 }) u" n Y
, C3 t# X7 w6 z) \
7 p5 I( _2 w; s2 ]& m# ]
s0 u v5 L/ h; K' w# h1 B. b2 c2 `. H6 o- I9 |4 I
3 a/ }9 j* N" t% y) H
3 ?, T4 W& z, Q: U3 {- j9 `+ v
# m+ {" b2 A4 @' q
|
|