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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:! _9 h3 W' ?$ J& L9 a/ Z1 y- i  m

4 r& ]4 @& @5 J5 w) ldb.getCollection('student').find({'age':{'$gt':'20'}}); E8 F  @  d5 y) ^8 F( z$ k2 P- ^

: a9 m) v2 ]0 j8 D' w- p
8 u( `3 G- Z! I0 ^; G
; M$ W) Z7 D2 |* I& I! _$lt    <   (less  than )
3 a4 t' c* a* E# d) @! S( V2 M. v; a5 q7 @9 v
$lte    <=  (less than  or equal to )
4 ^# @( ~0 `- z& }  h
2 G6 S' c  x8 t. j4 S$gt   >    (greater  than )/ s) s, `& s" q  T+ F
. ~  H. Q/ b* P# {7 u
$gte   >=    (greater  than or   equal to)
4 P) _; c$ ^/ s- @, d
8 g1 Y6 o: D6 N( l
游客,如果您要查看本帖隐藏内容请回复

5 k) S# P- }1 W# h/ [
$ `. c: j# P2 Z, ~+ y3 b- w: V$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
/ d; N7 Z5 D- P1 ]$ c) `9 M, [( R7 j3 N/ n
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
, N2 @0 V( ]% B9 E) G6 D6 n! m4 I6 T
/ }* |+ N- x# v2 U$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list5 Y4 v% {% Y7 s6 Y

, j$ W0 b9 P* N, U+ @: o: v$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
* ^2 w& h% h6 W7 u: K# S; e; A4 J; }9 W
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
0 p9 t9 j5 i/ N5 }: }
* X* O* w) d: R5 P. _$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int  E% P1 f0 L) R: ]

% P5 I+ M# T' I5 v7 o9 G$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
6 b! e" W3 ?- j* g4 [; z; p8 w: S# e( v
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
  Q0 Z( e" _; J5 v$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);5 n! m5 {. g: k1 k* R, @2 q
2 w* b" [9 u/ |; Z: w
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
/ y! }% z6 n' A6 o% ^, Q0 D! b- B  H4 [/ z9 l1 D5 B
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]4 k2 B/ f- [/ [" U7 q
5 @6 t: S( M* H# [) |# B7 k
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],]," x3 g) j( b* u1 ^, b  n. D: B
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 " r+ P7 d1 j$ Q5 D. O* v; {6 g
1 f! w  n6 a- c  f
& s  `! `; y9 F- w* U

2 u0 E  P5 l& o( {+ t: V
  v/ @  Z. o/ j' u2 K8 g

( q6 a, f' N2 ^2 W" M5 L) r% ~

$ Y: g! u) K  K* `
, @7 W6 Y) B$ H# f9 P2 w/ o* v9 m$ P1 C
组合使用方法如下:$ t8 g) s- F0 _" ]7 B! j* B
0 E8 a# ~/ t  C5 ~2 T0 A& Q/ t+ C  Q
db.user.find({"age":{"$gte":18,"$lte":25}})/ ~% }: p+ r. Z3 u2 P* x! D9 k
: X  x+ M" j% Q% _0 N  Z
* n9 ^# y; A( P/ u5 I

! p/ y2 [' `+ @# Z对于日期的条件查询方法:
( F( l& W3 q* L1 Q' ~6 u* p# {, v
% X& G3 k$ d. W; g, ydb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
: K: _6 V1 Z, v" G5 {+ [. g: }' R" z4 v+ {0 n
: c+ Z" D# _" w$ S

9 P7 A2 a* K' K2 L; E/ t2) 不等于 $ne
+ Y. e" q5 t' s7 D/ t
, c4 y( p5 f2 D3 ~( u例子:8 Y1 E: v8 k% @' Y
5 R! d2 Z! g" g. c% I* q) X
db.taobao.find( { age: { $ne : 10} } );
5 s0 v$ H7 ^3 {8 |$ O4 pphp7 查询mongodb方法大全& w. R% x: D+ c7 e
游客,如果您要查看本帖隐藏内容请回复

& V; g% ^: h) f0 B* a0 w  X- s8 T' A, d/ P4 ~

1 s- w: ?! E" y% R9 g! u6 D$ i/ i0 |- t& C
/ s) ]  B9 f2 j# j! P

% u* @; N3 x& k) H( e0 Q, e
& P  |4 G/ y. p( }, t& ?
1 O4 n2 J- e9 C
  E9 Z% m% `, U1 k& Z
. y, H( @4 S2 f# y( M4 i
# j0 ^0 \% e# d4 H9 M- l2 Z: C) t. g* o6 {7 c
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
" ^  S; ]9 D7 d: p6 G/ P
  1. //and5 M9 `! f8 D+ r
  2. {key1:value1, key2:value2}
    " n; E) v2 {; h5 O7 O8 L/ G
  3. [key1=>value1, key2=>value2]
    / b8 M, K. o: S( ~+ U  y
  4. //or
复制代码

, e" j; Q+ h2 \$ D- G- Q& U! O/ G- _6 B4 U* O
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-12-22 10:52 , Processed in 0.105959 second(s), 20 queries .

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