cncml手绘网

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

作者: admin    时间: 2019-5-10 15:00
标题: mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:1 Z. V" u7 n+ P% I/ l3 ?5 b
/ i( E7 g" _" ^
db.getCollection('student').find({'age':{'$gt':'20'}})
( B, u6 H  J4 p" y: l
) E* ~. ?/ H& c) s) w% W! U4 r8 x
2 D2 \5 t4 F5 x4 f
$lt    <   (less  than )" z8 {! X5 v9 r( i' @! }

2 W( i0 R! d. k4 B; P: `  f; Z6 q$lte    <=  (less than  or equal to )
+ N/ @! H8 r, O+ K0 n- V
' V) t, `- v+ Q8 l( T+ h+ {1 w$gt   >    (greater  than )3 f2 J& I& Y2 n) v  J  R9 O

; \0 y, u8 b* V! o- ~9 Y. o$gte   >=    (greater  than or   equal to)
/ `  k8 w' ?) x. m* W
; J) l4 p! `3 V
; G6 s4 R; w/ `/ O0 l: d
2 R4 _- Q! D' F5 G( R; o; ^$ne  != (not equal to)不等于  {'age': {'$ne': 20}}" G! W7 q$ Z0 `% d
- b* o2 X' R. }0 {7 L9 ~
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
; e9 p' @1 ~8 q) b. ?. b& ]6 j
" V2 }2 G, u' u* W2 i) {$ p$ }$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list- ~0 s/ ~/ `6 ?$ e
! a5 b5 L: V9 A- x2 {
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字+ o8 p& i  G- J& m- U
7 u: H* }- y- k+ n9 z7 V1 u2 n
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
  w6 O( Y5 D) L) `
) U# ^- F# S! @+ l9 G$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int  s7 e2 t1 H6 {; O
6 N. o  w$ l4 s! @- I+ R9 [4 [& D2 t
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
/ P5 {8 b2 s) y
- A4 C; ]4 T8 j3 B! h; N; w$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})0 d7 ^: e- t5 o$ _. u* }
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);' P9 a9 }/ Y+ U2 K4 N
0 H% t5 z1 x2 I5 p
$exists 键是否存在   {finaGoalLine:{'$exists':true}}& K9 F% `5 j/ Y- z6 V" a7 U
3 ?: ?6 G8 f5 r! u1 x& }& @
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
4 {7 [: N# [  I: s4 U4 {3 c2 A: W' P3 B: T3 L
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
' z- y& f! Y5 k4 i% Y" t' k* ^$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 ; \* A, g, K$ z- I" Y8 X& R

9 k1 [$ J2 [' N
( v, _2 L+ d4 _& @3 }2 M0 O4 B
" z( E% K' q7 E& b3 ]2 r: e# q; V

  ]4 e# @: s4 l: |( T6 y5 D* b  P. f

) I- N' P& _, j! n% ?& S
9 v) B% T) T5 E5 S: T0 B* N9 ]) s$ t5 u( T2 y9 Y7 ]( s
组合使用方法如下:4 F/ w8 Y2 p9 W9 o" y3 d

/ t& i* |, P0 j" z0 V5 edb.user.find({"age":{"$gte":18,"$lte":25}})' b: m8 ^2 b1 J7 }- _$ h0 Z/ J

" \" w. T, D5 e0 L# k
2 `. A! E) N% X% a
; F- Q1 ^% L% s, V. ]6 l+ Y( y对于日期的条件查询方法:
: X" D" [2 {  h4 W% {
: K% R& m3 e9 A9 Q+ Cdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})0 P$ J- r; R, R7 u  E- b3 M2 ~/ M
# R& ]/ n% B- e8 W, @. r2 D

4 B1 b1 o6 F' l
( a  p: w8 J6 G2) 不等于 $ne6 \* T) d1 ]2 {# D, e

0 N) D/ }: E, X% H( e例子:0 F; q8 X' ~' Y) t
9 v! h2 \- G3 R8 S
db.taobao.find( { age: { $ne : 10} } );) Y- e. u# i5 u* c6 T
php7 查询mongodb方法大全
) H0 ]2 z: s6 {  d& h$ H& g- G

+ {) ~/ ]* m& Y) i- Z9 m) d2 k) h
0 Y+ D9 m# Q* N% w7 G9 L9 [
5 u  x% s. w; U5 }( _0 @) e' M! {8 n) B# j$ h7 g+ M

* U6 W: f! L- J0 x9 h8 {0 n0 i. _: e% J: j

3 [9 r+ e2 y: d9 X; S) P$ s9 m* V1 ?) a" x/ m
; Y* u3 `  ^+ }% Q+ m+ Q
/ y( o# m0 n# W3 n# V
8 C' M3 z/ f+ ]8 g, z

作者: admin    时间: 2019-5-15 11:52
查询中的 and or
5 O3 b6 Q5 ~( W( ]
  1. //and
    ; T" g" }- e0 Z* c
  2. {key1:value1, key2:value2}
    ; y2 o% |/ ^6 L0 ^
  3. [key1=>value1, key2=>value2]$ b2 d( ?! S8 u/ H
  4. //or
复制代码
: Z3 Z9 d% `$ x* a  u

2 X( [! f2 d+ U
作者: admin    时间: 2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序  1为升序




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