cncml手绘网

标题: mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于... [打印本页]

作者: admin    时间: 2019-5-10 15:00
标题: mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:
9 _, a: ^. j3 Y; Y/ p
* Q- |/ {. P# o! \+ [6 K4 E7 zdb.getCollection('student').find({'age':{'$gt':'20'}})
- L. p3 W) F0 e8 |. @6 {1 q9 j, P% B0 y- k. U

$ Y% P+ N3 B$ y0 q* k. d' W  q6 G2 s% x+ h2 Y2 @9 h+ R
$lt    <   (less  than )5 D5 F8 W$ }# f

: C* }  V6 l& j& C$lte    <=  (less than  or equal to )
, S- D& B( F! d' Y; z) p( Z3 f
* c& H+ F/ L, |* g( u) a$gt   >    (greater  than )& W5 |3 Y. p1 D" E2 ^

1 Z# c% z: h& X  }  M! N& I1 n$ {$gte   >=    (greater  than or   equal to); w3 q" T! d6 @$ g
( o, n2 `* a. p
  Q, |( s# Q" _7 \; S3 c* X

' H4 D! y! R9 e$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
9 h6 D- T. n. W4 F' D1 k- b/ e& H& A) J5 J" T" \
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list# [; @6 A# Y" S9 w$ m9 c
% V- e$ b" g; ?# M
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list+ I# F& R0 q; F% b1 S

& Y$ Z* q# l3 ]/ f; K  Y  V$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字8 t3 S; Z) O% Q7 ?
% h7 L4 J1 |* ^% r% B% e7 y
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
! Z+ E  Z! I( `  Y2 F% Q& O. @6 u9 `+ N% _0 T# c. j
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
7 P  P3 _, e4 f' t$ c% E3 u1 _
2 Z) E( U, `1 e4 h5 l) ?$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串1 H  o; R* i+ `# I

$ j$ H+ z3 J/ J% Y' u6 `$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})# O: B; G5 S% [0 D& ^
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
$ |$ K, @% r' E! n: c# C" d
. W4 o, G( ?- ?) H$exists 键是否存在   {finaGoalLine:{'$exists':true}}2 ?; X( I1 \; i. a6 Y8 @

7 g$ p$ V7 \* |8 S, z$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
/ d- c1 F7 l$ l5 G; B- I
5 M  _$ Y: s: r4 g: K$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],, q7 N! N: j; L" s! b4 ^
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 ! u8 g7 N- g/ q1 T

* p: @1 H  i7 P* P4 k+ t

) a! U/ _; s. k% I3 M
1 z' i8 n+ m! s$ U! V
  f; A5 y# b& ?$ R  I
8 p: U0 z2 k$ o% k# R
: O" j; a# B2 v. c

! E3 M' P  K' c- y' Q' t  U# D
8 ~/ x" \# g4 w! g( C组合使用方法如下:
- Z- C& ~) B2 B5 i) R- {
) W5 o  g$ g/ a# gdb.user.find({"age":{"$gte":18,"$lte":25}})
! P. y' ^& x5 y, v
6 }# x0 A- C1 o0 f, ~
+ l6 \& U$ x% u3 [% V, C7 }/ X+ e# Z- P
对于日期的条件查询方法:0 N3 p9 P( z. ], p1 V4 v: g3 \

9 y) M+ l9 j! P! H+ X; M* idb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})* F' s' `- ?# C" C# p* r- K6 T

$ g$ R; V$ ]. R7 C- ~4 I* b' e; c. ]4 B5 X* N" j( d% w
8 `0 e, T. v1 i% z! g4 }5 @
2) 不等于 $ne# u1 X9 q3 g3 ~* a. ^

# B3 g1 Z2 q6 D( Z+ z4 t: W例子:. J' h' W4 \: h: S- j4 k, y$ G5 Y

6 a* M2 K9 [/ ?0 ddb.taobao.find( { age: { $ne : 10} } );7 Z2 H& [- g" ^  ^
php7 查询mongodb方法大全8 ^3 K- D8 H1 m# y  M/ {3 @7 j6 i

7 C9 z! h; d+ I( j
/ @9 m7 P4 \& v' \4 z3 x5 I
/ J* P4 Q  A  l* G. d& p: m3 m
2 @" J$ O- [3 [% g0 C8 g$ J
7 n/ I0 ^. B* s5 m/ o8 i, {' Q7 |7 @; ~, u; _2 s& ]  b! c

" s2 }' y2 j* |1 f$ x) v; }$ x# k% D8 B7 t

9 J5 s$ X; }$ r/ [7 P0 C) v4 F2 y2 I$ v, e% N1 ~1 o5 d" W
- H7 ?9 m2 `% R$ h- ?9 ]

2 j1 z. s& |% R) o/ J
作者: admin    时间: 2019-5-15 11:52
查询中的 and or$ R& ], B- o1 Z4 P: x' k0 E9 S
  1. //and% o) D# G% b! c* y9 J! g/ ?
  2. {key1:value1, key2:value2}
    ( Q. B, ?* q% j% k
  3. [key1=>value1, key2=>value2]( S" ~+ e, i! S! {/ I/ I
  4. //or
复制代码
3 ^! {6 u0 O! D0 d. m; E2 W

) v' @; A- ~' x' H% {& n4 m
作者: admin    时间: 2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序  1为升序




欢迎光临 cncml手绘网 (http://bbs.cncml.com/) Powered by Discuz! X3.2