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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:5 E) l  N% E  J) f" a) X+ y/ H" C( V
+ n7 ~; Y0 P& U( `( K5 X
db.getCollection('student').find({'age':{'$gt':'20'}})
, X+ x( T8 q, ?2 q2 y; c. B6 ~3 \( V# o/ W3 F4 |& H

+ A# ?6 Q. c6 `$ C
3 x5 \4 J- Y: c, E$ d$lt    <   (less  than )0 N: J- O8 m: V9 t: N9 E3 @
" V) c) x' j  k, A; Q7 v6 {5 ]' g/ A
$lte    <=  (less than  or equal to )0 k2 w/ S; J# |6 t
0 I0 \0 b; N! u
$gt   >    (greater  than )
) L6 _7 e5 }8 Z) E5 z
; w3 {; v- q5 p1 A8 i$gte   >=    (greater  than or   equal to)
. E( e% v1 U! Z! X5 j: \( U6 x* X& {+ v- g7 i$ A
游客,如果您要查看本帖隐藏内容请回复
# m) }* j4 v/ H& |2 T
( T8 Q1 q9 v8 w4 J
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}. F& D4 G% }- K7 c, f3 g, R

; j- u" Q. |- W1 e$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list" Q! k4 s3 u. {" n

) |$ i/ H6 [+ Z2 o: P$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
+ {, x7 w% l* A  t: H; E
1 h/ |- @1 l5 l6 X. Q( R& p$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
6 u! X9 n- k& e1 B' i0 u+ m
% ?! ^7 {6 J& l. S$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
* _2 u. r7 N" T$ O7 q5 y+ _6 k! [% _8 L/ \
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int. P# C' f+ o. i" J
! Y+ g6 B% ~0 T% i; x, g4 o
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
/ ~! N! J' X" ^; c6 n4 f! e1 }
/ m2 ?4 D1 ]2 J9 e$ t- A: v$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
- r5 i! i! \. ]% s$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);( j( h2 u& q: D3 r  y/ }

5 u) M% l6 Y2 h0 i( B0 m$exists 键是否存在   {finaGoalLine:{'$exists':true}}
% a+ P. c7 C0 b
/ X& D3 k: t8 H; s; W$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]7 K/ h7 }2 i% E( P0 @& w

# k- v8 A5 S0 a3 v4 D4 B" X$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],6 r6 o+ `7 U; c
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
7 E% S/ [& m4 L6 I6 J6 x% J: V/ W& ~2 k7 C: H) Y# d7 U3 y! z

7 O: u0 k+ s+ [& j) A
( }, d0 }4 w5 M- n5 n2 s

. e0 D* {/ B7 \/ l! v7 E3 u1 ]0 |0 j

; D1 c( Z) g* J4 ^7 U* b* b
$ ?& e: i) |% i- O# j: A2 ^
2 u/ O8 R6 A: l* q1 T9 J组合使用方法如下:
9 N! F, e; O1 t
5 Z, u( `  ~0 c' a  S  ddb.user.find({"age":{"$gte":18,"$lte":25}}); a  `! M' x/ P" d8 F* z+ g

4 N: Y. n- T* m: K
# ~* i3 I7 o, e' o/ c' S  S
8 L7 [: Y8 u" A8 V, i8 ~% P# I对于日期的条件查询方法:; g# O9 w7 k) f9 ^- G( |2 g
8 G# e; X# c" p  x! `, }
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
" o( @' W  z9 f
. O7 x; V, L% b4 o  u
3 A3 n8 ~9 v5 K2 M) q% h/ H9 t
0 i, k' a8 w8 ?! j8 O# r2) 不等于 $ne
3 V. d; b8 u8 v: B) e
- ^# i: ^& t" X例子:$ b, Q! `) P3 |/ ]2 C1 S
& D6 j1 w) c+ @. [
db.taobao.find( { age: { $ne : 10} } );
! b7 S  I* d5 }php7 查询mongodb方法大全' i8 L  P! \8 m% j- k& W
游客,如果您要查看本帖隐藏内容请回复

7 B9 r6 C' u% Y1 Q8 f, j8 R( I$ \
, Z* X& l  v0 s6 z3 |& t+ i4 ]& z" L
# @" t+ g) D- d# u5 H; b! C+ G
. Y+ k% J# q$ m# [, u7 ]" Z+ ~5 N
9 X8 W: [0 l* Y4 C
. [$ @8 s) P; c6 P5 D4 L; l9 x
6 o8 y3 G) K/ L$ e* K6 a* T8 J

8 B+ t! l- S( u. O  ^4 M
: g( a4 H% z: Q. @8 v( c0 y) k/ ]1 g0 l+ B
& _/ p9 o' `9 R6 l6 _" d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
/ l+ u) g! P% M4 U; u9 y
  1. //and
    ( x8 j+ K1 ~' p: Z
  2. {key1:value1, key2:value2}
    5 i4 t  W9 O, M) a* D5 O& M+ `+ m
  3. [key1=>value1, key2=>value2]# d; {9 d2 a" P8 t) n
  4. //or
复制代码

! z3 F* K  v+ n  {6 m  i0 R5 {- M' u' `( v* b3 i
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-6-29 18:37 , Processed in 0.140053 second(s), 21 queries .

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