管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:; Q' a- A+ R9 { V2 }7 @" p- O
4 j" W% i' }7 O! w& Q6 n- @& `db.getCollection('student').find({'age':{'$gt':'20'}}): K7 l8 D2 a, b) _$ w
* d9 a( C: Q( {' t0 [6 ~" t
. h' x r5 g3 l
9 _& H( [$ f4 ~/ l# b$lt < (less than )' v! ` E6 r: Q+ X' N, T# H+ X3 b
& o% I* m6 i5 l+ t; V3 k
$lte <= (less than or equal to )# s( B8 l- P, R" B
. r+ \1 j( D/ e" Y5 X5 D) z& G
$gt > (greater than )
; Z3 \2 E4 V. S, S( Y
3 F% @- n; ]8 n; T# Z7 `; Y$gte >= (greater than or equal to)5 X- A; I4 s! k, F3 p
: O: M7 B: u& a- x0 V" q. V7 z+ k' d
; d( z% y0 L/ u
$ne != (not equal to)不等于 {'age': {'$ne': 20}}1 s" @9 O! d( |
; q. U- z" C& {; E6 O$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list4 L1 L ?' M+ A) \( s6 [5 t
' d7 S$ I6 H/ z1 |
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list! N/ f$ @4 {) X- r) _; Q9 T" _
) w; k! V( [5 x: A; v$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
$ \/ U" q: ^* T+ T8 l6 O& v3 S2 t& K8 G V
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
_: _' F. g& z2 Y. t$ y9 l" F% e( M3 o. N& T9 e4 }, P
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int1 D1 r8 ~& k+ e* Y3 }4 c
+ O W1 H1 Q$ _$ E0 o8 c$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串% |0 f3 N3 z u
4 w5 n3 C) u; J) S1 F/ c$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
& R g) u' K0 _( P- t6 l$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
& Q! j. X8 Y5 G& [, G2 w/ z l& j
$ a7 {# Q6 W5 `% e$exists 键是否存在 {finaGoalLine:{'$exists':true}}
. [& e3 |8 g' S# i j0 s% J1 M/ A7 P: ^! M8 _
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]! \9 v3 \, Z! h
! w0 ]. R' z, \# E" y1 i
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
- W! U% g& `3 f* U5 O+ ]3 J Q7 k$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
7 z+ @" p) j5 t9 R" H4 o7 p4 I6 j/ U, g: s1 q A
( L* [5 T- G. z/ S
! q4 n% B2 ^5 W) u9 q I) s# q; m8 A3 c! ?& p- t
; L; x; e6 T1 Z w" F$ H* h: w ^
# }' ^* s6 e* \7 Q; W1 T+ f
; |3 V/ J0 w" r5 x0 e% q% }' O, h( ?' P; C; U; Q! ]
组合使用方法如下:8 C; W) P3 o% d' n( |: m4 ^$ U
8 u# m! |( e7 j
db.user.find({"age":{"$gte":18,"$lte":25}})
+ h0 f7 X. K% x6 G9 Z" {. P q% x& A9 O
6 a7 g- z5 k5 y3 U# d. E8 g7 ]& e/ H8 [6 W: x, n0 M
对于日期的条件查询方法:
7 V) x. p+ r* [, j$ a; a- a
3 v$ h5 n( D* [' }db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
7 X, ~" F4 ` t! i+ F
9 O" S. s! H, M" }% Y- `, u+ Z
6 E, `" Y+ z7 o8 s4 c R9 m7 D- {+ u9 Y" c h; ~8 [
2) 不等于 $ne4 H0 Q0 a9 N8 e5 ~8 F) P5 n
' s0 }# R+ g$ R" a/ U- f8 x
例子:
5 H' ?# V8 m7 y9 r" a f+ i' v9 S/ h6 J' e( f
db.taobao.find( { age: { $ne : 10} } );6 l/ a. c& Y' J1 x
php7 查询mongodb方法大全$ [; [) B: J& E5 L
: Q( m1 B; W& k) u4 u; f! E% k, a. ~- v! t6 W" A; N! ~# X
$ m" X3 A. ?( V: A
, l. E3 k/ E% c% K) W" H9 Y. F; E+ ~9 {% c: Q! }
9 o: F4 _% Y6 p9 z+ T
, k8 r' E) A5 K( z6 @. @% u. W% p! o6 x5 t% X; m
0 j1 y# C9 V( S7 v. k
8 l% k1 B9 t4 u# | N5 [3 ?! a, f
! z) v' A. g7 J) m4 y. p6 U
|
|