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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
& J; F. x0 x1 d3 K
1 g! x- S0 Z3 X2 ^( ?" j+ @% u4 rdb.getCollection('student').find({'age':{'$gt':'20'}}), Z$ n. {7 }2 g' r: V7 U  i

+ P# m' ]1 N1 ~
  H2 @+ v) o  D. F6 r% T/ K, m5 O+ w* f+ x
$lt    <   (less  than )8 Q1 F& X  Z2 ~  m
( J# Z! T2 q* E# u
$lte    <=  (less than  or equal to ): i/ ]7 o" m3 b# r3 L  N" ]
% W( ^- E' s: n) K% `5 a
$gt   >    (greater  than ); N# P4 f2 r- W6 N9 o
) V6 E) b  q8 @5 H9 n! {& i( Z6 j- x
$gte   >=    (greater  than or   equal to)/ H* d" F- x. ^! S- P- l! n
9 \2 I9 M8 _, i
游客,如果您要查看本帖隐藏内容请回复

5 b+ F* m$ D! b" l
8 ?( p+ T) P& ?5 |( T8 B$ne  != (not equal to)不等于  {'age': {'$ne': 20}}8 o$ B5 O  A6 @$ x6 ^  `
  ?2 T1 y9 w8 c: V1 ]  k9 m
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
! @# M7 c9 S* B  g' c, p; j/ `4 @3 C1 ~8 V3 p6 r3 L
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
+ d/ m) X# w+ S* [2 A+ Z  F5 s7 w) h
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
3 U' ?7 U' Q2 J& t+ R9 k
6 B- R' c9 G5 @# M; z$ y) r6 e$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在5 g  f" i) J% j# I8 P9 _. }& b6 P
% D4 q4 ]4 F" J& Q3 a; F
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int$ G% Z' r! b' H9 t- C/ K

1 M; A. v0 F; P$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串* k0 u) m; q5 D1 C5 U

9 ^7 r; e9 {7 o7 p- ~& A$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
+ {4 H7 H6 Z- I' R/ l) T0 q2 f$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);2 `8 b. m9 k' |
1 D) E" N& X9 C+ N* [% i; o
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
+ H! W  [% p$ I9 ^% c' v8 d/ M% T& |, T5 P8 W  N. L  W- x2 V. P# c
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]8 T- |8 M, _# v5 ^
4 l9 v" G1 i* `" u/ \: O+ W1 h* c
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],+ d0 p- o( z; Y, I
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
7 V5 j$ X: p. C# O: j! A
( ]4 A; z" N1 z8 L' y; ~

& z2 c7 M3 @* y. b8 W8 |% r3 n5 N+ A' Z
4 Q5 l7 {" Y  i' k

  E: o& y6 t3 X5 H+ ~, b- D/ B) ^
7 w2 D: e7 ?' p3 K6 `8 O3 Y2 A
$ n) q4 F7 a$ h. K# U8 Q, |

  Q3 W, b( d4 Z) ]" m. y7 ~) v: w4 a& v组合使用方法如下:
- L  ~& Y: r% E# x6 @; k
% C: L  Z3 x% Z3 ^) z; }, z' zdb.user.find({"age":{"$gte":18,"$lte":25}})1 a) O5 f/ e$ e' D0 v* k

  L5 D6 @: S2 Y, C" b
; l, w! d+ Y5 ~
  t& M0 q6 s% N) `8 E' L' w对于日期的条件查询方法:
9 J: \1 f& N/ ?( B6 F' F5 v+ |: w8 l; A. S0 G
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
8 P$ h! A, S0 J) Y4 Y* ~9 V
1 [/ r& L" f. Q7 i( g. _9 M$ A2 w6 S6 Y
: Q% g% e* a( L; u) k1 [  L
2) 不等于 $ne8 i% t5 C7 q7 a) H0 W. w( u7 J( X
. l/ m) N/ i& Q9 A- r
例子:, W) `1 G3 j0 G, d% O3 G
# l) o/ |/ y' q3 S- m
db.taobao.find( { age: { $ne : 10} } );9 `3 w3 D  f) \+ a0 E: d
php7 查询mongodb方法大全
0 {. @' k  r& Q& b
游客,如果您要查看本帖隐藏内容请回复

$ W6 I! P& Q# @7 l: K. ?' z9 t6 Y) F  t
, }% w  ?. @$ s7 a
) h; p1 m+ Q' b( {  l( p8 |
1 y4 g1 a: ]7 n! a$ V
% s; B, E% z5 l- u" c3 s
1 d. a, P% ]- U6 Y) v$ k6 H7 e% k9 T5 S" E. s/ h

& I$ i6 y9 D. h( X! d7 m( w
3 p$ J. g3 q3 h8 a/ t' c9 T5 l6 J; z+ d) ]) @( W1 f

1 h4 a( I( U8 L) |. t+ {( f% o
+ r- B; s% P9 Y
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or) c8 a$ [# b$ l
  1. //and
    # I5 ], f6 u# ?* \- g
  2. {key1:value1, key2:value2}7 @) p+ D/ G! U0 _, s5 b
  3. [key1=>value1, key2=>value2]
      G, g; @9 j- \! o+ \% f, _
  4. //or
复制代码
# i7 {$ P6 \) x! P. w) {

# z$ k1 e! t1 ~- S* W* p7 c
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-4-30 19:59 , Processed in 0.055744 second(s), 19 queries .

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