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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:3 w" {, Y8 ?. r5 R/ S5 ]/ |5 V" N

, r" K) h/ I0 j" g$ d4 q; O( Pdb.getCollection('student').find({'age':{'$gt':'20'}})) ~* {% `, q' r, x& X6 O
. V% i0 J9 p5 I3 t3 q; o. o
1 }4 ?; |4 I0 p' o
& Y' e  m* N' W0 a. a: y4 H& P2 F
$lt    <   (less  than )
! X) S4 j& [, `% X* J: u, P/ r- h) N0 T3 y0 P' U7 R1 \
$lte    <=  (less than  or equal to )
, C% e. v3 d0 y! I* A# R2 L/ G+ T9 M7 }& _9 z
$gt   >    (greater  than )& U: |9 @; }9 w+ S2 h- G
2 n5 C6 E7 m! ]6 X
$gte   >=    (greater  than or   equal to)
  H7 q7 h# Y: z% F0 S! P
/ S2 W8 ~) x/ U! q* w) t8 _
游客,如果您要查看本帖隐藏内容请回复
, p3 B" [4 F" S5 Y

3 C3 P9 S8 p6 P; S/ E2 F3 b& w$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
6 C3 g7 d+ D" n' f* u8 {0 U/ v. l
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
* N2 ]2 f9 D- ]' U% v: n$ [" z" D0 ]7 D; t
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list' j* F; h6 _, V# ~( ]
/ q" m) j0 Y( W3 s
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
  N' m- u# E: k& V; Y1 Z2 }: l! l4 G" T, Y! o1 e
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
; B1 J& ?( B5 j" F& w
5 I$ X! X( M# u7 C$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int  s* h8 c4 t) }/ X! Q# Z# g

* V8 Y' \+ O& U& h3 q$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
2 |0 ]8 i7 l6 b& L# B% L, Y: _3 ~1 G# k5 l( P( R7 ?
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
* C* f! o4 b* |9 [: ~! x5 g! K' i+ h$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" t% t9 u* h, U4 `# T
) a4 ]- X$ l2 P  A$ G' `$exists 键是否存在   {finaGoalLine:{'$exists':true}}
! l) x) K2 |# V7 c; g7 n
. S- e6 c" @. ~: \$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]+ a: m9 ^7 A' M$ P7 P5 H6 o$ y

" z! t: e# [; C0 I$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
( n: q3 u3 ^/ P4 {$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
2 Y: g/ Q+ B1 b0 x
( ^, W0 |. w& O/ V( B

5 v; v0 W: {- S: D: S: x
0 E  J" m; Y  P( q: ?  Y

/ r! k* M7 J1 z- p: }7 g
& e& i0 P$ c$ L

0 B6 M- Q3 H' |7 C: y/ {8 K& s& Q7 W) n+ `

$ o* b7 i, P1 g  b组合使用方法如下:
7 q$ d1 Q: F- a- |; Z* U1 K: V
; c. B$ a; B- I: G+ [+ @- fdb.user.find({"age":{"$gte":18,"$lte":25}})
- f, e/ ]6 d2 e; {* {8 E
7 l0 [1 S) E' R% C, A4 {3 ?& p
7 p/ g; P6 K8 e  u9 Q+ B, d
) R# e! _6 |/ J4 z4 T对于日期的条件查询方法:3 k- j- |. x; w) \
. A: d- L5 Q7 \; i  C/ E
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
( `( J" C/ H3 g# [; d+ k& K- x6 z! E; o0 n% g

( r" T  N4 P1 V3 `) `+ r+ z: [6 o5 ^# ]7 _& v
2) 不等于 $ne" p" A+ ?& _1 }0 P8 y$ ~) p
, j' n1 e6 B& K8 l# T, K, z
例子:
) }; `; d6 l, S9 n1 s: G: v' J; o6 I6 H; s
db.taobao.find( { age: { $ne : 10} } );! t% G$ u; @5 y; c- P0 F* H
php7 查询mongodb方法大全
+ h0 t- Y  j8 u1 w, E# b
游客,如果您要查看本帖隐藏内容请回复
# I9 Y6 ?, q0 O- k9 e1 S

. K1 p9 o# o. B$ w3 ]& D
2 U& _4 s8 n# G8 M; G2 n: }' d& Z/ J

7 A5 s( p5 W" _" h
3 H/ D/ h# w* D% B) w1 g
6 {2 Q) o; p3 q, D3 M( F: o7 A: c! P

5 q/ P' U8 z5 Q) [  H! p0 c8 A( I9 A, E2 v# X1 P8 D" h
0 d( w; {9 H# C( e" C
' l# X! @. M' L5 v
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or( ~2 K. q* d' l. a* T, G
  1. //and
    - h7 f# x3 m  L0 R
  2. {key1:value1, key2:value2}) W9 l% i( q. ]' b# k% U
  3. [key1=>value1, key2=>value2], d! d: m. c8 T; L( y  h5 o
  4. //or
复制代码
$ S! z& B' b* l9 r. C& Q; o
. o$ M- F6 R: M' x
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-6-20 03:26 , Processed in 0.076705 second(s), 20 queries .

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