cncml手绘网

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

作者: admin    时间: 2019-5-10 15:00
标题: mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:/ U% H: E! h7 v! w7 c
; Q  L' \5 n. |, L$ T" [5 u' B+ J) q
db.getCollection('student').find({'age':{'$gt':'20'}})% y7 R( g: e# m6 p$ K# a

2 T" `0 \: d. f2 x% c. C$ [! X( D/ ^. j" ^1 G# e- D6 C

. S1 d; D7 `  g; ^$lt    <   (less  than )
; O& l% G; }8 }6 F  s+ g
/ R: k* j% e9 \* c$lte    <=  (less than  or equal to )7 ?  d0 L& m7 A/ b% ]3 \! S, C

) M5 o- `" ?" a# s# Z5 J$gt   >    (greater  than )
, u$ t- y- g( B5 m9 h& O2 o% I+ o7 T1 K' r  u: z% x
$gte   >=    (greater  than or   equal to)
& ]1 }: ~9 e# Z& T5 {
# Q% t% c+ V- z5 \- x4 u% }; I, A3 G

0 A4 |% H( Q3 t: z! }' B! S# T$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
' ~0 E% _* X* A5 T6 d. y5 H! z/ Z" ^
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list. ^) f! ]6 I( j3 C0 Z  i
: u) @7 o0 r8 [+ S! w
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list8 Y- ^( s9 q4 P* E3 t3 i& Q! `- R
% q& O  z" g2 p" i% e/ S+ U7 t
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字  T0 q) k# |/ |  s
2 e5 G" V% n/ K0 c
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
6 u2 Z# v" y! Q' ^  L* r5 X1 M& k% n6 d; x- B) o! ]
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int6 p& b7 X3 _( \7 u0 U0 v7 o

) h, e8 w, j  m- J* H% [4 ?$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串2 Y, |% F" C1 o1 q, g
% @6 g- ]5 a2 {+ D% J
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
' S& D- I8 n2 D5 Z: m$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
' W5 w) M1 F2 r, }
. k. Q2 d# G8 Z# u' ^$exists 键是否存在   {finaGoalLine:{'$exists':true}}( q* X3 t, I+ j# ^
% V6 d( K5 P9 y& r9 t: Q
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
4 d; f3 d  H: @& n; S9 }, O/ H' I6 L. u
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
# C6 v: x* L; \1 ^$ A$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 3 w  n. y; n' e9 |! ?

" d$ Y" K! p7 i7 I8 p2 f
. Q* I5 O* @; i4 X( T( Y# [" j+ P
4 E9 u: x3 w$ J$ Q" F

$ p+ K2 u0 k/ {- P5 T
$ V; v8 i2 }1 C
9 L# I0 z1 R( X! d
; m9 H8 X9 `8 @/ W! k
7 P& }8 D4 j* J9 {
组合使用方法如下:! _- v5 @( n1 T- b
( ?2 j; |4 z  j" I# J
db.user.find({"age":{"$gte":18,"$lte":25}})
5 Y2 w; T8 n1 i1 `( c4 S6 K( x6 \: Y1 J# D, P
7 }/ P+ b& N' {! L- @. i( Q
- ?2 ]) s! B9 a& Z$ }
对于日期的条件查询方法:* Q0 t- O5 t% H% [: [5 [

8 U$ B: Y% [! k+ g6 i' Gdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
. B! g8 t( J3 C, ~, `9 f3 \
+ k" L2 o6 S/ R: k
! I8 h. L: z% @9 k4 j5 }# |9 \
! M; ?6 m7 F' O2) 不等于 $ne' C, m, N+ f. P4 T- b# h

! g2 a3 @7 c# s: S/ a8 z例子:
- D1 p, ^8 w! Q7 f) M0 F6 O' H. t6 _: r
db.taobao.find( { age: { $ne : 10} } );
  |8 z/ E: n% W: Y9 d; b, [: }/ e; Hphp7 查询mongodb方法大全
5 [$ [) i1 ^, A( h
$ u" X/ y/ p! f
+ d# G/ b' r2 c3 ?/ w: f) K
  b4 f* l) Z# k9 d! c# Q; ?6 H& m$ o! s/ \# l& k
" `2 S5 ?4 |2 V
& f; W* t: k4 L/ \, L$ S1 Y+ }2 V9 b
) n4 U' E2 m$ M  W. P$ y
) G; y! L% Z6 ?: Z/ H! M5 w
) s; n9 z, h8 L8 O: ]5 @  M

6 c1 [1 m" O/ L; E  j
) ]/ i7 s# I) l! \6 z+ r, ^( y0 Y% u4 x+ E' Z0 H

作者: admin    时间: 2019-5-15 11:52
查询中的 and or
! Z2 L  K) @) w
  1. //and
    - z3 b! j! s  d. w8 C0 ]) ^# d/ ?
  2. {key1:value1, key2:value2}
    . P3 N% B  v7 _3 r% ?- ?( |/ u/ r. P
  3. [key1=>value1, key2=>value2]
    + I# x# ^8 }. Y! a4 I
  4. //or
复制代码
, D' k% p: W0 e8 U9 c* ?# y, n

5 N- I6 d. x  \3 y7 J& J
作者: admin    时间: 2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序  1为升序




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