管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
9 B& G& G2 y0 X3 j2 c: ?2 ?$ Y
' [' n V6 H+ Ydb.getCollection('student').find({'age':{'$gt':'20'}})2 I& N1 a- j) w& {1 o6 Z% z) L
; T* I2 ^# e. A1 a7 Z& Z
% E( ]! Z& v, G; Q
5 |# \$ S8 u! y" u4 ~$ `$lt < (less than )5 M( o. p- x* ?+ I5 H
/ Z& I. `; ?- T0 b
$lte <= (less than or equal to )
9 z. {: N+ K/ J3 E5 E/ x0 o% Q9 K8 S
2 n+ g) n- U" [1 _$gt > (greater than )
7 D/ t) u# N2 |1 \! z4 n( C7 f) Q
6 T' b, c( A5 r* d) g$gte >= (greater than or equal to)
9 i7 C- E& B. g) L. g, ~* k: I6 K3 J7 Z+ `7 Z3 r0 Y) C" M
; d9 _) d+ a) `0 G% [, w
; _' x5 j" Z$ D5 w+ e$ t, X$ne != (not equal to)不等于 {'age': {'$ne': 20}}
) Q8 E0 R! v" M) g w/ \( B- b8 V
3 l# l+ G$ V! m% E; u1 G$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list3 |$ Z8 [2 B0 c) |5 m3 |" g
9 q$ A+ t; l* @7 t% a
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
) `5 @1 d; `) G2 K# l2 s: {
/ p0 R0 b- d4 t& S O$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字8 A5 N# r# H2 f
# B, i) Z5 `& k M: k
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在, X# {0 |1 o& ~
" i' U3 o% J8 W, [9 W$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
! o( B9 h' p) m1 ~0 ~
# L' W5 T, T% K9 |$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
1 b% \: y d; V2 ?. m8 Q9 _* B
/ {) ]$ X" _8 h& F6 }0 a5 \ w$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
9 M2 Q! i F9 a* T$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
% Y E' [1 y7 w0 |& R& Q3 B) w* f8 I4 m7 I
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
2 W. W9 W2 P; @1 |$ L! p; q; c% l
5 E% q8 o1 R$ y$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
/ w" U: R" r# B
. \ r" i% w9 j+ i$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
6 ]7 E3 z, @4 R C$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ! I- k) i. z {" L) `
* @/ T+ E C& A/ D, T+ O
! U3 T8 T# \2 l3 d( l! i/ _7 D! t, D, B' ^( ^; _
: }. g2 D' S! b
7 k) e+ D6 M* t7 \! \" W5 r/ E$ A/ o% r
: |* }/ x* v" d( E0 }* h$ {5 g9 J; N: `
组合使用方法如下:6 A1 k9 X0 B9 }7 B e( B% b
5 W k& J. F+ X" [* t6 g" k) J0 S
db.user.find({"age":{"$gte":18,"$lte":25}})2 m* R8 o& i" Q0 h l' a# j4 G7 I
* m5 [$ X O9 ~9 Z W5 F2 r
. F4 y8 G2 b: U1 H
7 N/ m1 `% J3 M$ M5 N8 M对于日期的条件查询方法:; ~& L) K6 Z) F! P5 v, ?
5 E# F- \9 [# v, M& e C4 q2 c% Idb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})& _1 {1 L: a5 Y/ N7 G
+ P( {. S, W2 m" z8 D
0 J( m% S u. @5 w! h
6 c% J8 I2 w$ N8 }2) 不等于 $ne
' k C& e ~: p* I
/ Z+ J! F' k5 S! x# e' \, Y例子:* d0 ~, g0 T) _
9 a8 _/ z/ q& \6 Y# Q
db.taobao.find( { age: { $ne : 10} } );5 Z1 I/ d% A) D: C
php7 查询mongodb方法大全2 U T5 {) {( b/ X
9 S0 u! l+ Q3 F0 w3 n% B
: A( R' W7 X( f9 t$ W. R5 a+ I+ b) T% u/ p
; O: n( V2 f3 \1 [% p3 D$ B" m
$ n* i' l+ r7 s* m& P; N' m2 [
% D+ G8 w/ W8 f7 H+ T9 U. i Q' P% a: A0 \( R% k) W" ^$ U
$ A3 N# v2 a" ?. x5 K' l1 B7 w
/ h A+ U* T5 J4 [
/ L9 l1 P) _& L" |& `) L, v5 `1 L* M8 Q6 l+ q- J; D4 [
( d7 ]2 R& D" P u7 A: G& X
|
|