管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:) b6 H& ]+ Y9 ]# K# w0 z
5 _$ M) G' h$ [; l& N- c% }% d! v
db.getCollection('student').find({'age':{'$gt':'20'}}) s2 q/ U( @! ?" S0 _' Z d
+ y6 [6 r8 u) ]; i8 U5 m' E8 ~: l/ [9 \) R4 |! \
: x2 h0 l% Y8 W" X1 X
$lt < (less than ). w7 O- a+ D* R7 q* t8 b* k5 Q3 e7 t
1 S# `8 [% x! I) j5 g- ^9 u
$lte <= (less than or equal to )
% Y# O; k# b- V3 E" Z
8 h8 b7 h8 _' E6 w* Q! p& M$gt > (greater than )
, f, Q# q/ Y6 {" W) S7 Y0 k, m: ^8 e/ y1 D- K% }, b) O* `% R
$gte >= (greater than or equal to)
0 W$ F: A+ ?% d7 |( d" I [: |
+ J5 ?2 m9 L8 \% O/ \4 h. w
' v7 u. R% H6 Q% z0 V
# z8 A @6 Z+ o" J. \$ne != (not equal to)不等于 {'age': {'$ne': 20}}
8 w+ e& k( g5 ^& X3 `
' G$ M6 I+ C; |" s7 S: `$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list- l1 C1 p6 F7 s
# p( V4 V C! J. H) p) h* c
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
6 Q* b/ E! ^) Z$ G% X9 W' R. S K
/ H- S6 M. @2 ?3 F- _7 d& V$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
/ Y; w! d: c. W- H
6 I2 u8 V' J& I3 f$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在) Y. G1 m9 _7 g$ y2 K6 F! c* W
, j F2 W; q! F4 b2 |5 j$type 类型判断 {'age': {'$type': 'int'}} age的类型为int5 l _9 b0 ^" k4 k4 Z' Z
$ C6 O& J' I+ E3 a+ G$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
0 \) \* ^. N0 z4 t0 g( G( l/ l* s
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
, X% h/ @# H0 q" [$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);2 }5 W5 Q4 M# s) E8 N
9 M5 [( h! J! m+ n% a# z' j$exists 键是否存在 {finaGoalLine:{'$exists':true}}1 ?' ~5 A0 r: I6 _ Z8 b% R
$ `+ h- P3 W1 _/ K
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]] U' d5 N1 u5 l
' P. ], |, i6 ~1 y! l2 ~$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],3 p2 _. d9 {! L3 L: t9 \! g& P
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
/ g* W5 M' j( p/ x5 E& k, Y t
6 N) Y" f; W9 s3 M4 f8 W2 q* J& _& M2 y' s9 c. t9 ~, }2 G2 J$ e
, Z* O" @7 y( v4 q! q5 L
) T( L( R7 z4 O% F a
: P6 \! J+ T" i. R; p, s L# ~2 c8 B2 u7 {% e4 |# O9 L, _6 `5 K
! u; N' s& Y3 d+ M
2 E$ H D7 s/ ~+ y" O% x组合使用方法如下:5 a! a# [9 j; I
+ r3 P1 U/ Q& H& r* S$ R
db.user.find({"age":{"$gte":18,"$lte":25}})
& q. {3 t$ Q5 D1 {; q+ z% r2 e1 G4 ~! e3 M: { C$ y6 F+ i
2 O. `5 d6 U, l3 x9 K3 z4 a' Q2 i
( V6 [1 l# w) _/ _% e7 z6 s对于日期的条件查询方法:8 ^* g9 I1 D# r# t0 }6 q6 p
$ }* V3 f; d3 v5 t% @8 Hdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
2 _% Q- O# H2 s8 a }) q5 q M
' u- t0 R! M$ @
% o) b7 M$ `5 T# b: i
$ ` @) e7 N7 ]5 R, W% ?2) 不等于 $ne
" }# K) ?% j$ \" Z) [" N# A5 e6 C8 u) L! J+ E5 t4 u8 B0 m
例子:
+ k- Q& D( |5 m; Q
* W/ v( A( H: O! Xdb.taobao.find( { age: { $ne : 10} } );1 F; ^" d! _3 j1 e' t" ]$ x1 o
php7 查询mongodb方法大全) j: d) P* p/ Q3 i+ [7 D7 \1 R
0 B, T! J' D" W O1 v; l. _( Y
& O K/ M! H. H" W+ e. s: U
! S7 K" h' ~) L$ ?
8 [' C. Z5 }. d6 p) q! Q* y
! F- s `& N5 x3 m4 B& ]% a/ h) D: j3 y- Y$ z7 I+ H
6 L+ n( Z% Q4 ^" N, J- `6 v' F0 y
3 u; P8 S- N2 x9 ?9 j3 y
" I% g4 P6 [5 S5 z
* r3 I' x: }* Y0 v4 G3 }% ?8 R" |4 m4 |, v! B, e8 t+ |7 O, T
|
|