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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:) b6 H& ]+ Y9 ]# K# w0 z
5 _$ M) G' h$ [; l& N- c% }% d! v
db.getCollection('student').find({'age':{'$gt':'20'}})  s2 q/ U( @! ?" S0 _' Z  d

+ y6 [6 r8 u) ]; i8 U5 m' E8 ~: l/ [9 \) R4 |! \
: x2 h0 l% Y8 W" X1 X
$lt    <   (less  than ). w7 O- a+ D* R7 q* t8 b* k5 Q3 e7 t
1 S# `8 [% x! I) j5 g- ^9 u
$lte    <=  (less than  or equal to )
% Y# O; k# b- V3 E" Z
8 h8 b7 h8 _' E6 w* Q! p& M$gt   >    (greater  than )
, f, Q# q/ Y6 {" W) S7 Y0 k, m: ^8 e/ y1 D- K% }, b) O* `% R
$gte   >=    (greater  than or   equal to)
0 W$ F: A+ ?% d7 |( d" I  [: |
+ J5 ?2 m9 L8 \% O/ \4 h. w
游客,如果您要查看本帖隐藏内容请回复

' v7 u. R% H6 Q% z0 V
# z8 A  @6 Z+ o" J. \$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
8 w+ e& k( g5 ^& X3 `
' G$ M6 I+ C; |" s7 S: `$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list- l1 C1 p6 F7 s
# p( V4 V  C! J. H) p) h* c
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
6 Q* b/ E! ^) Z$ G% X9 W' R. S  K
/ H- S6 M. @2 ?3 F- _7 d& V$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
/ Y; w! d: c. W- H
6 I2 u8 V' J& I3 f$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在) Y. G1 m9 _7 g$ y2 K6 F! c* W

, j  F2 W; q! F4 b2 |5 j$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int5 l  _9 b0 ^" k4 k4 Z' Z

$ C6 O& J' I+ E3 a+ G$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
0 \) \* ^. N0 z4 t0 g( G( l/ l* s
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
, X% h/ @# H0 q" [$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);2 }5 W5 Q4 M# s) E8 N

9 M5 [( h! J! m+ n% a# z' j$exists 键是否存在   {finaGoalLine:{'$exists':true}}1 ?' ~5 A0 r: I6 _  Z8 b% R
$ `+ h- P3 W1 _/ K
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]  U' d5 N1 u5 l

' P. ], |, i6 ~1 y! l2 ~$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],3 p2 _. d9 {! L3 L: t9 \! g& P
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
/ g* W5 M' j( p/ x5 E& k, Y  t
6 N) Y" f; W9 s3 M4 f8 W2 q* J& _& M2 y' s
9 c. t9 ~, }2 G2 J$ e
, Z* O" @7 y( v4 q! q5 L
) T( L( R7 z4 O% F  a

: P6 \! J+ T" i. R; p, s  L
# ~2 c8 B2 u7 {% e4 |# O9 L, _6 `5 K
! u; N' s& Y3 d+ M

2 E$ H  D7 s/ ~+ y" O% x组合使用方法如下:5 a! a# [9 j; I
+ r3 P1 U/ Q& H& r* S$ R
db.user.find({"age":{"$gte":18,"$lte":25}})
& q. {3 t$ Q5 D1 {; q+ z% r2 e1 G4 ~! e3 M: {  C$ y6 F+ i
2 O. `5 d6 U, l3 x9 K3 z4 a' Q2 i

( V6 [1 l# w) _/ _% e7 z6 s对于日期的条件查询方法:8 ^* g9 I1 D# r# t0 }6 q6 p

$ }* V3 f; d3 v5 t% @8 Hdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
2 _% Q- O# H2 s8 a  }) q5 q  M
' u- t0 R! M$ @
% o) b7 M$ `5 T# b: i
$ `  @) e7 N7 ]5 R, W% ?2) 不等于 $ne
" }# K) ?% j$ \" Z) [" N# A5 e6 C8 u) L! J+ E5 t4 u8 B0 m
例子:
+ k- Q& D( |5 m; Q
* W/ v( A( H: O! Xdb.taobao.find( { age: { $ne : 10} } );1 F; ^" d! _3 j1 e' t" ]$ x1 o
php7 查询mongodb方法大全) j: d) P* p/ Q3 i+ [7 D7 \1 R
游客,如果您要查看本帖隐藏内容请回复
0 B, T! J' D" W  O1 v; l. _( Y
& O  K/ M! H. H" W+ e. s: U
! S7 K" h' ~) L$ ?
8 [' C. Z5 }. d6 p) q! Q* y

! F- s  `& N5 x3 m4 B& ]% a/ h) D: j3 y- Y$ z7 I+ H

6 L+ n( Z% Q4 ^" N, J- `6 v' F0 y
3 u; P8 S- N2 x9 ?9 j3 y
" I% g4 P6 [5 S5 z

* r3 I' x: }* Y0 v4 G3 }% ?8 R" |4 m4 |, v! B, e8 t+ |7 O, T
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or& c: H: `4 }- U: q: u0 B( ]0 I
  1. //and
    . u( r; O: w, B! F* o
  2. {key1:value1, key2:value2}6 d9 r1 ]% R: b
  3. [key1=>value1, key2=>value2]
    " f0 f/ {$ V# V5 l- H
  4. //or
复制代码

, y( O! s6 n8 E: y
$ K* y* N( d: p1 R, i% Q, Q
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-1-30 14:29 , Processed in 0.054832 second(s), 19 queries .

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