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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:; Q' a- A+ R9 {  V2 }7 @" p- O

4 j" W% i' }7 O! w& Q6 n- @& `db.getCollection('student').find({'age':{'$gt':'20'}}): K7 l8 D2 a, b) _$ w
* d9 a( C: Q( {' t0 [6 ~" t

. h' x  r5 g3 l
9 _& H( [$ f4 ~/ l# b$lt    <   (less  than )' v! `  E6 r: Q+ X' N, T# H+ X3 b
& o% I* m6 i5 l+ t; V3 k
$lte    <=  (less than  or equal to )# s( B8 l- P, R" B
. r+ \1 j( D/ e" Y5 X5 D) z& G
$gt   >    (greater  than )
; Z3 \2 E4 V. S, S( Y
3 F% @- n; ]8 n; T# Z7 `; Y$gte   >=    (greater  than or   equal to)5 X- A; I4 s! k, F3 p

: O: M7 B: u& a- x
游客,如果您要查看本帖隐藏内容请回复
0 V" q. V7 z+ k' d
; d( z% y0 L/ u
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}1 s" @9 O! d( |

; q. U- z" C& {; E6 O$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list4 L1 L  ?' M+ A) \( s6 [5 t
' d7 S$ I6 H/ z1 |
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list! N/ f$ @4 {) X- r) _; Q9 T" _

) w; k! V( [5 x: A; v$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
$ \/ U" q: ^* T+ T8 l6 O& v3 S2 t& K8 G  V
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
  _: _' F. g& z2 Y. t$ y9 l" F% e( M3 o. N& T9 e4 }, P
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int1 D1 r8 ~& k+ e* Y3 }4 c

+ O  W1 H1 Q$ _$ E0 o8 c$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串% |0 f3 N3 z  u

4 w5 n3 C) u; J) S1 F/ c$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
& R  g) u' K0 _( P- t6 l$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
& Q! j. X8 Y5 G& [, G2 w/ z  l& j
$ a7 {# Q6 W5 `% e$exists 键是否存在   {finaGoalLine:{'$exists':true}}
. [& e3 |8 g' S# i  j0 s% J1 M/ A7 P: ^! M8 _
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]! \9 v3 \, Z! h
! w0 ]. R' z, \# E" y1 i
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
- W! U% g& `3 f* U5 O+ ]3 J  Q7 k$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
7 z+ @" p) j5 t9 R" H4 o7 p4 I6 j/ U, g: s1 q  A
( L* [5 T- G. z/ S

! q4 n% B2 ^5 W) u9 q  I) s# q; m
8 A3 c! ?& p- t
; L; x; e6 T1 Z  w" F$ H* h: w  ^
# }' ^* s6 e* \7 Q; W1 T+ f

; |3 V/ J0 w" r5 x0 e% q% }' O, h( ?' P; C; U; Q! ]
组合使用方法如下:8 C; W) P3 o% d' n( |: m4 ^$ U
8 u# m! |( e7 j
db.user.find({"age":{"$gte":18,"$lte":25}})
+ h0 f7 X. K% x6 G9 Z" {. P  q% x& A9 O

6 a7 g- z5 k5 y3 U# d. E8 g7 ]& e/ H8 [6 W: x, n0 M
对于日期的条件查询方法:
7 V) x. p+ r* [, j$ a; a- a
3 v$ h5 n( D* [' }db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
7 X, ~" F4 `  t! i+ F
9 O" S. s! H, M" }% Y- `, u+ Z
6 E, `" Y+ z7 o8 s4 c  R9 m7 D- {+ u9 Y" c  h; ~8 [
2) 不等于 $ne4 H0 Q0 a9 N8 e5 ~8 F) P5 n
' s0 }# R+ g$ R" a/ U- f8 x
例子:
5 H' ?# V8 m7 y9 r" a  f+ i' v9 S/ h6 J' e( f
db.taobao.find( { age: { $ne : 10} } );6 l/ a. c& Y' J1 x
php7 查询mongodb方法大全$ [; [) B: J& E5 L
游客,如果您要查看本帖隐藏内容请回复

: Q( m1 B; W& k) u4 u; f! E% k, a. ~- v! t6 W" A; N! ~# X

$ m" X3 A. ?( V: A
, l. E3 k/ E% c% K) W" H9 Y. F; E+ ~9 {% c: Q! }

9 o: F4 _% Y6 p9 z+ T
, k8 r' E) A5 K( z6 @. @% u. W% p! o6 x5 t% X; m
0 j1 y# C9 V( S7 v. k

8 l% k1 B9 t4 u# |  N5 [3 ?! a, f
! z) v' A. g7 J) m4 y. p6 U
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
7 a* F: F' H) J% x& G
  1. //and
    : o) f$ L6 P0 H% T2 o
  2. {key1:value1, key2:value2}
    . o) E7 ~$ s! l0 ]
  3. [key1=>value1, key2=>value2]; U) z: K/ \1 S5 y; o9 o0 d
  4. //or
复制代码

; m0 d4 N- W, ~
; D' |7 s5 Q8 ~# o3 B. f; \9 \
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-8-5 01:13 , Processed in 0.051675 second(s), 19 queries .

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