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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
8 e: P$ r: R: d6 v- g# @& w. M! f7 _4 [1 ^: ]' G' L
db.getCollection('student').find({'age':{'$gt':'20'}}); a. C. X4 K' E. F( V" X

7 B( K2 N: [9 x4 M7 ]- T; E
9 s2 I: X$ x6 o5 N  S5 k+ A% ^1 U. T6 [8 Q
$lt    <   (less  than )) o5 x: T- m9 b5 V+ u. |

" t! J  ^4 w% \# [4 J# |" {' M/ B$lte    <=  (less than  or equal to )
4 @, u0 H, S- O& C2 E/ T9 y
! M( G! W3 V9 A% b/ e- b$gt   >    (greater  than )5 E! @; |; A# y8 `4 B$ X
+ t2 h7 v7 W6 s! C. v$ K
$gte   >=    (greater  than or   equal to)
( i2 O6 |1 w3 Y% l4 D% z7 I! J) t* T/ ^% B; C( l! t5 W9 k" F0 a) w
游客,如果您要查看本帖隐藏内容请回复
5 l& x3 h% e$ m6 K( h% g
5 c% Z3 M" I( h; I3 j1 P
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
: g, z5 e  e, s8 ]# n" P4 B& J
! z. |9 i+ L+ E" o& S% I1 o% n$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list" [& l$ r" O  }1 F4 {" y2 `

* p( n1 C& @* C2 U$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
- [) a: T' D  z9 L! n' m& @
$ l, A* z, _- K4 a$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字& ]& w! v7 X5 l6 v0 E- q) F

6 D+ |* m  z0 h' T0 |1 \$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
( `; |* x+ X: C: a; J
0 o0 N5 t% b1 K1 m+ k; I$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
5 v; a1 e/ w' g6 U: g% G
- }& j* Y# y3 H; }  G8 Q. k4 _/ s$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串* L& J) K$ ^: n/ ~3 ]* T

1 y- \  Y6 P$ `; d+ L& G  R$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]}): b& K8 y+ e  ~3 p! e: L* c4 j* ]# E
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);+ ~9 v4 Z# ?- D0 E2 Q0 b

  y! b4 d" l# K! }# f5 a8 N$exists 键是否存在   {finaGoalLine:{'$exists':true}}
( P0 m( o& x$ V' U+ R1 Y) e. |6 X) X; L# a5 q4 W
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
, H+ ]5 V: c' r' O# ~; l  N# O: H8 f$ O. M  |6 i
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],/ v* ^& A# N7 r& s# t8 ^1 i! H
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 $ ^; Y  e: z7 ^3 }* `1 g
' l8 J2 ?) V0 Y

" z# h# l8 B; [6 D5 Z6 Q' I
7 l# N8 b; p5 E; t& \: x- x
; v- g$ s4 ?4 ^; C4 H( ?
7 K2 p; M" |" f: y3 d; M! S+ Z3 d
  y3 _# P5 p' b0 D
' j0 {/ V5 N, A8 C

: [' w! k+ l1 r- A, J* X: j8 b5 I/ E组合使用方法如下:
' d+ ^! M; ~$ [( s& V0 g
7 Y: N' W& |4 N& d# l) [$ \/ hdb.user.find({"age":{"$gte":18,"$lte":25}})
6 b0 O2 A7 @& D% M% X
5 C4 ^' t2 Z& n  ?% @- L  T/ J  g) e1 u, x9 |( v" F- Y

" Z# C5 P6 W" p! V( y对于日期的条件查询方法:- L5 P7 C0 U( e! z3 ?' Z
. w9 |& u6 X6 G7 P
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
8 r7 C0 s4 Y. ^* r0 k+ ^
% v/ Q6 l7 l5 A- O# v0 I& o0 q, y. N! x( \7 ?  P
4 a/ K- o- \  B& a8 V# z! F
2) 不等于 $ne
" m5 c0 l3 |* y+ Q7 ~: n; r3 _6 D# \3 S) b6 t  A& b+ s
例子:6 }; l& {5 V- w2 h. v

4 n# b, z6 x: R" p3 udb.taobao.find( { age: { $ne : 10} } );* ~$ I9 D# Q. _# C1 }; x
php7 查询mongodb方法大全
9 l: n; Z5 I% l, d0 a# H
游客,如果您要查看本帖隐藏内容请回复

+ \3 e; }! D! }; O. j0 A
) X' }5 F1 \; ^. D
3 I* C) U  i1 Q5 @4 W1 G" `! w5 {8 w4 ?, c( {
5 W( B4 E8 K- F4 C
( T9 `0 j' E9 y) {3 P/ i& M

" n) h2 B' X( D+ w' v" z% a6 e- K
2 s, Q+ `% J- T4 J6 `
+ J8 q: `. H, e$ @1 L- n
" o3 [4 p# L7 K0 C
  S+ k6 B3 m- [5 `& ]8 S; h3 r+ {% x- b
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or8 L9 G/ i9 e7 q
  1. //and
    $ }3 ?$ ]) e7 w
  2. {key1:value1, key2:value2}
    & @  h" t% w5 f( U! X
  3. [key1=>value1, key2=>value2]
    + N, Z3 B0 @, L* k( L8 {7 a: Z
  4. //or
复制代码
: n5 P# h! l- a6 T/ W8 }
1 ?2 y7 l( F$ m9 `7 G5 t% ^
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-3-16 17:18 , Processed in 0.056206 second(s), 18 queries .

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