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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
查询表中学生年级大于20,如下:  Q3 h: r( C0 x- r! H

/ V% p. l6 o' w, Fdb.getCollection('student').find({'age':{'$gt':'20'}})
0 l7 a) S5 [2 ^( b
& E% m/ _$ a: `- P2 b; [6 j
, G1 P3 ?! S, }3 q7 y% `1 _- Q( ]6 `; a& q; t# d
$lt    <   (less  than )$ w0 c, i" l% f! P/ r* p# X
- f0 u. b/ H& P9 q
$lte    <=  (less than  or equal to ); g( c2 t" c, @) c
9 O! `6 D3 H' v2 w$ F
$gt   >    (greater  than )
2 }2 d1 t$ O+ X
( @/ s0 A. I7 r* v* p$ r$gte   >=    (greater  than or   equal to)+ ]; _% u& T$ u0 @9 L- Z' `

$ W  i- ]+ @4 w% [
游客,如果您要查看本帖隐藏内容请回复
5 N4 J( \( t4 l4 r

* e: J6 d' ^, \  B+ k: t1 z( Y. ^$ne  != (not equal to)不等于  {'age': {'$ne': 20}}- T* u$ F! K* H* L2 q6 ^
% a5 w- T) {7 X8 w
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
! r! Z/ e" C5 T- ^* H& T% H# [0 S+ W. M- G
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list! `. K$ R$ z0 W+ j: e* f- W, ~

" ?1 W( c8 C; ?4 k$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字: J# o. q) c9 V! I7 z+ O
: Y+ F: Q2 G8 @8 ~
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在1 l7 U- f5 F- Z5 d8 I
. ^; p1 d) r4 A, p* G# d% [4 ?
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
5 Z& t$ m  ~- T5 K# B
3 Z7 H4 G" X' ~: G7 I0 `$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
& L- ~% e( b* s: {, p0 M1 J: H  j' J
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})! b) C: W1 @. U+ g0 f" @: c" w- k
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);5 m0 ?& A+ R; y9 a
. D1 o2 A1 ~  b/ G
$exists 键是否存在   {finaGoalLine:{'$exists':true}}" A* L; E: y. p* b' K; p7 t+ J

. H5 h- E- Y% p$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
9 K1 _, K, R, A/ g/ m4 @3 Y; m
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
: J1 {" [- w8 \$ _3 k6 Q# c$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 ' P4 A9 U, U) O- U: V  {) h
3 ^, {, c" ^: S1 j/ z5 _

, U9 k1 W% W7 U* E2 j
8 z8 `, S: ?2 ]' Q

! V$ Z) c- z/ e+ b2 f! U! y- l  d. N, S+ p

. g  b2 a2 n8 O( m: e
) W2 |& D3 s% G7 b
# g" T( O$ X' e+ K! I( `组合使用方法如下:0 c) C, _& R4 X, d; t4 T$ Z/ X
4 d& t/ J+ F: Q/ ?' P
db.user.find({"age":{"$gte":18,"$lte":25}}), ]: m; K( {6 I- _4 a: Y( Y1 j
" k2 u. q* P, Z

- [! e" g, _' f( ]5 g) ]
0 c8 H% k4 Z  S. C3 p8 e: v对于日期的条件查询方法:$ c# g0 d; r, R3 P
  `( A5 z: l& ~. @' ?" h
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})- p5 H; ~# B4 f' O

8 h6 W- x0 X$ U, T4 [# W% q- x6 D7 j4 M! E/ B4 Q* J( r! P: d

1 t" \: E0 t, x8 a2) 不等于 $ne! V) U2 b6 c' R) K: a' F3 [! p  F

: r% ]1 g8 E/ `例子:5 r1 C/ a6 ~# x! `  @

  F5 L# _: R* xdb.taobao.find( { age: { $ne : 10} } );
4 s2 }, `+ |& Z: D: ~- A; tphp7 查询mongodb方法大全
+ k$ k+ ?/ A* [3 M1 }
游客,如果您要查看本帖隐藏内容请回复
5 X7 _9 S8 `5 Y, Y& F- D* e; J
  k$ S1 `0 V/ y& p" e8 I. y7 r
; X5 [& S/ G  i- D

' A5 ~5 C$ U: H( `" B. Z
8 k" R3 l0 {# C0 z0 {4 @) K6 y( k( ?
6 o' {* n5 [# i3 ]0 K- E8 |0 g) d! `. `8 f7 h# N

3 U: I4 a- o9 |6 ]
, e# L& {. |& o" F' W$ J4 F- F8 Z, }9 D" W3 {/ C% }* H

) }' f1 ^$ Z6 T: j" x! M: e# O& F& L* a2 V4 i/ y- o
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
板凳
 楼主| 发表于 2019-5-16 15:39:54 | 只看该作者
'sort' => ['id'=> -1] //排序-1是降序  1为升序
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
- g4 @0 a" v9 N! ], [
  1. //and; X) }5 [$ x  r  T' j5 ?
  2. {key1:value1, key2:value2}6 t9 k+ T  u* q( ]. k
  3. [key1=>value1, key2=>value2]
    ! y" t2 N. o6 ^" [! u5 x  D
  4. //or
复制代码
! `& ?. k$ V: j6 S9 a
7 ~0 V4 r$ o: k4 X+ J
回复 支持 反对

使用道具 举报

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

本版积分规则

GMT+8, 2024-12-22 20:42 , Processed in 0.151774 second(s), 19 queries .

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