管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:5 E) l N% E J) f" a) X+ y/ H" C( V
+ n7 ~; Y0 P& U( `( K5 X
db.getCollection('student').find({'age':{'$gt':'20'}})
, X+ x( T8 q, ?2 q2 y; c. B6 ~3 \( V# o/ W3 F4 |& H
+ A# ?6 Q. c6 `$ C
3 x5 \4 J- Y: c, E$ d$lt < (less than )0 N: J- O8 m: V9 t: N9 E3 @
" V) c) x' j k, A; Q7 v6 {5 ]' g/ A
$lte <= (less than or equal to )0 k2 w/ S; J# |6 t
0 I0 \0 b; N! u
$gt > (greater than )
) L6 _7 e5 }8 Z) E5 z
; w3 {; v- q5 p1 A8 i$gte >= (greater than or equal to)
. E( e% v1 U! Z! X5 j: \( U6 x* X& {+ v- g7 i$ A
# m) }* j4 v/ H& |2 T
( T8 Q1 q9 v8 w4 J
$ne != (not equal to)不等于 {'age': {'$ne': 20}}. F& D4 G% }- K7 c, f3 g, R
; j- u" Q. |- W1 e$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list" Q! k4 s3 u. {" n
) |$ i/ H6 [+ Z2 o: P$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
+ {, x7 w% l* A t: H; E
1 h/ |- @1 l5 l6 X. Q( R& p$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
6 u! X9 n- k& e1 B' i0 u+ m
% ?! ^7 {6 J& l. S$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
* _2 u. r7 N" T$ O7 q5 y+ _6 k! [% _8 L/ \
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int. P# C' f+ o. i" J
! Y+ g6 B% ~0 T% i; x, g4 o
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
/ ~! N! J' X" ^; c6 n4 f! e1 }
/ m2 ?4 D1 ]2 J9 e$ t- A: v$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
- r5 i! i! \. ]% s$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);( j( h2 u& q: D3 r y/ }
5 u) M% l6 Y2 h0 i( B0 m$exists 键是否存在 {finaGoalLine:{'$exists':true}}
% a+ P. c7 C0 b
/ X& D3 k: t8 H; s; W$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]7 K/ h7 }2 i% E( P0 @& w
# k- v8 A5 S0 a3 v4 D4 B" X$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],6 r6 o+ `7 U; c
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
7 E% S/ [& m4 L6 I6 J6 x% J: V/ W& ~2 k7 C: H) Y# d7 U3 y! z
7 O: u0 k+ s+ [& j) A
( }, d0 }4 w5 M- n5 n2 s
. e0 D* {/ B7 \/ l! v7 E3 u1 ]0 |0 j
; D1 c( Z) g* J4 ^7 U* b* b
$ ?& e: i) |% i- O# j: A2 ^
2 u/ O8 R6 A: l* q1 T9 J组合使用方法如下:
9 N! F, e; O1 t
5 Z, u( ` ~0 c' a S ddb.user.find({"age":{"$gte":18,"$lte":25}}); a `! M' x/ P" d8 F* z+ g
4 N: Y. n- T* m: K
# ~* i3 I7 o, e' o/ c' S S
8 L7 [: Y8 u" A8 V, i8 ~% P# I对于日期的条件查询方法:; g# O9 w7 k) f9 ^- G( |2 g
8 G# e; X# c" p x! `, }
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
" o( @' W z9 f
. O7 x; V, L% b4 o u
3 A3 n8 ~9 v5 K2 M) q% h/ H9 t
0 i, k' a8 w8 ?! j8 O# r2) 不等于 $ne
3 V. d; b8 u8 v: B) e
- ^# i: ^& t" X例子:$ b, Q! `) P3 |/ ]2 C1 S
& D6 j1 w) c+ @. [
db.taobao.find( { age: { $ne : 10} } );
! b7 S I* d5 }php7 查询mongodb方法大全' i8 L P! \8 m% j- k& W
7 B9 r6 C' u% Y1 Q8 f, j8 R( I$ \
, Z* X& l v0 s6 z3 |& t+ i4 ]& z" L
# @" t+ g) D- d# u5 H; b! C+ G
. Y+ k% J# q$ m# [, u7 ]" Z+ ~5 N
9 X8 W: [0 l* Y4 C
. [$ @8 s) P; c6 P5 D4 L; l9 x
6 o8 y3 G) K/ L$ e* K6 a* T8 J
8 B+ t! l- S( u. O ^4 M
: g( a4 H% z: Q. @8 v( c0 y) k/ ]1 g0 l+ B
& _/ p9 o' `9 R6 l6 _" d
|
|