您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16005|回复: 2
打印 上一主题 下一主题

[php学习资料] mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:8 g+ ^# q" D) r" @7 U

2 m' W* e# q3 A- h( vdb.getCollection('student').find({'age':{'$gt':'20'}})7 ?' j  {- x2 N" r

7 c7 S4 @6 P# n3 [! P, V" o
+ a+ L" }5 D8 G- d4 A9 K+ n$ M. {6 I
$lt    <   (less  than )" P- O1 u( L% ]

* K: s: X9 o; {$lte    <=  (less than  or equal to )
3 G- ^4 |1 T6 X! q! L& m- n* K5 I# j$ o3 j5 y
$gt   >    (greater  than )
  d9 x' N& V/ ~. L" p. \3 |' U1 k3 h, X$ Q5 O
$gte   >=    (greater  than or   equal to)1 X/ b. a/ q! f& P/ E9 b; b

8 L" ~) q5 \3 w- M2 f
游客,如果您要查看本帖隐藏内容请回复

+ b7 y# L1 A- A, Q  W- a! \' a9 U/ K, Z& F  F
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
$ L# s: w: ^* T- g( a
' z2 o8 t' q5 {8 c+ s$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
1 X1 m9 `- F& o9 x% F4 Z2 Z9 l6 l
* W5 B7 H- |/ h, d4 h. y0 E( E. T$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list8 c2 v' v- D3 S. |
2 N  e8 [# S9 ]6 d
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字8 q4 B. t) I) w, q( T2 }' j3 j
. F' a2 |& H: j0 u9 g7 y. `# z, J
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在" W! f# {  }+ f0 x
. ?* H6 L+ V8 w  \* @0 x. e' j
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
0 r# U8 m$ _1 _2 @# O; G2 d
- p  |% }& Q+ u2 l& \$ o" E$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串- H1 w1 t9 r# f/ p0 d8 C' u! ]
6 X* x" U6 A0 r$ `/ v$ q4 F
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
; f/ l8 `& `  q" P) s4 S$ \$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);6 M& B6 N  h# e8 I2 [$ \3 W4 ~

" c; d! f1 {3 K3 L9 ]/ _0 [, ~$exists 键是否存在   {finaGoalLine:{'$exists':true}}9 |4 @) j6 M7 z* J

' B- O- o' A3 D  t4 H6 h$ J' j$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
6 w, `+ f, Q" s( J2 ?' d2 D! Y2 }$ h; ?1 R
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],& Z; G5 V6 _6 E! M4 J* {; Y
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 + w' d# ]: @  i0 c7 N1 J! \

3 _/ ~9 V$ i4 P, o3 F  u5 i* x, G1 f. e

! j) X0 Q) {" B
* O* f5 S& }5 l$ r' {2 c

! W; z& r4 ]# T7 X' K/ U) e) b' q2 ?. Z8 ^) u
" o( C( `0 P' p9 Q5 `; F+ E
+ K7 \/ x5 j8 A; c! t
" G0 o, w9 K8 G3 ~
组合使用方法如下:
( m& K& @, D6 w& @1 @! y( k8 W
3 P/ [- j, d. Rdb.user.find({"age":{"$gte":18,"$lte":25}})4 R) J! x, d/ Z

9 J9 P+ n  H' o, O( v" v$ a
8 W9 H3 l+ P% O6 D5 H7 Q: z! d( j% m  X; D" M
对于日期的条件查询方法:, [  M% U  m& v* V/ y+ a1 B. ^

& M3 w. P4 y, I) h4 [' mdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
9 o6 k; }2 N9 M) j- {( v. T* i  X/ Y  ]  h& U1 b
/ p% ~: C" y$ \3 F; {: D

: F+ {  O7 }- W! R  v5 k. f/ C2) 不等于 $ne$ C1 g9 {' j0 J. F6 t

- x, Z( H3 l7 S* {例子:
$ j; v" a; k+ u- g# }
) o% B4 d8 p1 G0 e3 R& r  p1 r/ Idb.taobao.find( { age: { $ne : 10} } );
7 }0 \: W$ r) G  Y5 b* ]- _) R" o- P0 Hphp7 查询mongodb方法大全
8 [6 C' X5 b9 W6 J2 s* @9 ?
游客,如果您要查看本帖隐藏内容请回复
% G0 F; V, q( s# ^4 W: [3 p, q+ }

6 U( m7 F* C' K: E
2 \' H3 [. ~* ]! a5 m) d! l& F4 l- J' ]& z: a
2 n; O7 x3 l$ M& L  ^$ ?

! S  x1 B: |. e5 u7 X, u. A, F
. R3 l1 q4 {9 n# F! E3 q: j7 X8 G1 ]+ S/ R4 q6 f- x6 _6 H
- O* b2 h+ S# Q# Q9 U* u

7 C$ J; d% G/ I7 s- c. ~* v6 o6 {+ K& k$ J! p* I% V; W; a
3 N- {& C" e" I- l+ D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or+ U* z% M- Z( V- z
  1. //and+ W3 ]8 o- N% D+ k3 C3 N7 h
  2. {key1:value1, key2:value2}
    ) M/ h, @4 E+ |5 K
  3. [key1=>value1, key2=>value2]% l$ |/ M7 L/ J1 d9 T! q# Y5 U. M
  4. //or
复制代码

3 d  c! H3 c, O( M) [4 q- e+ i. D) V+ N3 I& t6 h' Q* ^- _6 i1 w; g
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2019-5-16 15:39:54 | 只看该作者
'sort' => ['id'=> -1] //排序-1是降序  1为升序
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 11:46 , Processed in 0.051212 second(s), 18 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!