管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
# B# i: h. _5 \& Y" ? t, }7 ]5 X1 e0 a p
db.getCollection('student').find({'age':{'$gt':'20'}})
) s+ F7 E; U2 O( X7 ]3 I& \# f0 N- T2 j j
3 L' o& x+ T7 ~, O
5 {6 a6 q9 \* x6 T% ?
$lt < (less than )
% x/ j# X4 x# H8 u" L) z% [, T1 A7 D: N; U+ R! z. Y
$lte <= (less than or equal to )- R% J+ N$ H# M+ s: a+ b4 }8 I
1 @& c: V; r5 q$gt > (greater than )5 b( ~* I' i( a9 H) r4 y. n: ]
9 @' T( {9 n8 y8 y" b/ m# ~( c$gte >= (greater than or equal to)" r4 v& T# E- U
6 j% m7 { }0 \! H9 d" x# ^
, v$ l, u9 K% D! O' l$ i) f, d5 f$ j9 r$ q
$ne != (not equal to)不等于 {'age': {'$ne': 20}}( A5 p& w" _/ K2 V* I+ x) l$ r, G
( j: j* t9 H( F& C4 E+ T% s$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
' s9 l4 H, I8 i
: `/ J M" n# c r" ]' E$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
; r! w: z, w; ^( E$ C( {
2 S3 \( d; G5 O0 H$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
# O$ H- F2 p' u) v. M; m& S2 F6 B. L" l+ ]) N" H6 A! \" f; V2 b
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
" b7 b7 m v9 L; n+ x$ {& ~3 m% g9 Q! ^7 j6 S! I I% R) e
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int, \$ F9 b7 x8 h( ~, ~+ d# Q+ K( I
- M" |- g+ Y0 Q9 w1 K6 s, z q$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
" f' |' T* Y1 I+ g& T% Z% L6 C* T+ U( K3 O6 i g
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
* M4 H* A1 o- B5 [# M$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" K2 n- [+ j. B# w) [3 ?0 j; W4 g
$exists 键是否存在 {finaGoalLine:{'$exists':true}}0 N+ o7 e# O6 w
3 q( ]4 L% K1 T- E% m2 @+ t$ ^) b% x$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]3 o# S; s: A7 V
( J% K6 y0 b+ D1 I: ~* \
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],/ g* s5 I& L P6 E. U. S
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
% z' r+ X' ]& w* ?) c/ Z+ D% x( ^3 W) H \0 E
( @; _/ r, h' v- r" N, h- [/ Z+ y- N( Q3 h' Y, V7 w
1 }. I! s$ G! T7 }- @' t7 x0 g) ]6 ]2 u' f
; {+ H8 C6 K) ^0 X" H' k( }$ v. R: v. Q! Y
{( {$ C7 Q0 E8 Z: h组合使用方法如下:, E; Q5 k: a3 @8 T. E
* e3 I7 ^% T0 k6 e4 {2 ?
db.user.find({"age":{"$gte":18,"$lte":25}})% f9 t7 {& V" l1 F3 n3 w
* H" T0 Q& N8 M" o' p
, z3 q0 C4 o, {; [. B9 F
: ^7 ]: Q6 ^1 F% s+ Y* u. [( |6 z对于日期的条件查询方法:* k, z A+ D7 M/ B X0 U
) M: W T i7 r, ]; r- |db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
) k1 z$ j( L$ {3 J$ }& X7 x: }& c- M4 R4 X# w
" A) }) W/ b. l# l) T
3 H9 k6 ^0 K* d8 D t" z) O
2) 不等于 $ne/ j3 _; k! T* H3 \0 {) p
) [+ C9 O) w2 Y0 B例子:
- p5 {+ w2 N+ I5 t& }; M$ J
+ `: d. L7 w" w' X) xdb.taobao.find( { age: { $ne : 10} } );8 B% a k) B% B. p
php7 查询mongodb方法大全" t' ~: y: \0 [* @9 g
& d7 o, r w- m% K* U8 v
+ a: A! d- v% e/ s7 h
5 x& j. S4 u5 x1 n8 x& X' t5 v- C! C; k @! f
, F' s: q3 o) d0 x! N% f- I. }" E, H f
4 g z) t0 L9 i7 x/ {9 R4 H: b6 C
! V8 R2 y8 r7 ?4 Y4 E3 i A7 q4 F+ R5 x; t8 P) }
5 E. h7 M% @* I& ^# B4 U
3 ?2 L+ b' N; R/ w& X- i
2 V4 v( X: n' [, ^' x. T3 P0 H |
|