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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:4 q+ e8 G$ _2 C

- j9 R- D5 _) H* U* N5 p0 ^db.getCollection('student').find({'age':{'$gt':'20'}})
. F- f, Z, T9 M6 m' |& S
0 v0 }! W6 i9 B( e0 m, z: C
0 T! q2 d* {9 x5 E8 d- z
/ h# @% t- j2 _; {1 r8 a3 m& ?$lt    <   (less  than )/ U( q+ a2 w  y) W% ?( D0 r- o* z

$ L6 Q: [  O* v8 i$lte    <=  (less than  or equal to ); o. x, C3 H) h

0 E2 P, x1 E  j, h5 S& q$gt   >    (greater  than )4 ^: Z+ Z! b  \( y, m% }$ T
) L; s& G( s" R5 J8 f
$gte   >=    (greater  than or   equal to)8 R5 B. M2 B$ g# u
; e* A9 g2 k( m7 s8 b. Q
游客,如果您要查看本帖隐藏内容请回复

5 E2 q( n( W3 N# m4 Y1 Q( ]  E. c/ L) K/ d  u% T
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}2 o6 o" J; o* B/ T& h
. p1 V3 o4 Y6 n$ g: d& Z: q, `' Y
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list  F- z  J% b4 W4 O# V# P$ n% n3 Q
& [: L1 W3 \* {8 C, a
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list9 S" F" i& o6 ]( H" u1 Y

# h9 \$ [1 M$ N$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字/ K  C  ?2 \- L4 u0 w( p" u7 R
7 }( {% t# o9 H+ h( u
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
  r# w: ]) Y9 T) D2 g9 ^; t2 Y( s; V1 X" O! U( l8 G5 W  @
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
+ ]% V+ V/ ^* v# b( M2 i; h6 I/ z, [* b+ x! z: X
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
4 c; Y4 H" g/ C" H
: g8 L4 Q: t* V8 O- G6 f3 @$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
$ C: C5 ~2 e& p+ J$ t$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
# C$ D( f$ ?/ O% T) r+ {% {: K% p/ A+ j0 y) x
$exists 键是否存在   {finaGoalLine:{'$exists':true}}, l, F' U3 n1 n! l/ q: d
" J% V  S. C4 [7 l2 N
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]& }. d5 p9 [  I0 l1 [. `: [

3 q6 B# H4 M9 v$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
& x) V& I1 }" G9 v1 z9 T: _$ C$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 & f9 s" b3 ?) N' W
- a9 I! `9 T+ p0 F! ^

& ~# o. m3 T$ N. }9 R. w! W. `* Q1 _$ @& M0 j& Z; o) b
! [5 g7 ]! l6 G) H( a
: D" [" F" ?/ N& D
' j( ~) o7 w8 y6 |% C
1 c, F# p  h2 G! c8 |/ F
2 p+ V6 z6 T+ C! g, A& A8 N
组合使用方法如下:# S/ w5 q- a: C7 Q8 |' y2 o9 q  I6 r
7 j( L( @; V- p* n
db.user.find({"age":{"$gte":18,"$lte":25}}), x+ H! C! k4 R/ ?: I
. q9 X! w' U! z

5 b) ]6 j; i0 ?- x/ V# Z3 _: Z' S
; N8 l& l+ j% S9 r+ x- G0 i对于日期的条件查询方法:
- V3 K4 B3 n$ G) S  n: Q% o+ g* Y  E$ t; |$ Y! I$ p
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
4 u9 F# B! M0 p& U- u
# E- Q: M/ C; Q7 I& I& Q) v$ n9 @1 D+ K8 F2 c' U1 B4 B" x
. X* F  b2 X5 _3 `) e5 J
2) 不等于 $ne
7 L8 m) \# X! R9 A* l( ]* |4 Z0 J0 |# Q8 k
例子:; U- m2 z" a5 b  x

9 S! y2 N+ K9 `db.taobao.find( { age: { $ne : 10} } );4 Z8 M; _: M3 r' Q8 _" V
php7 查询mongodb方法大全
9 M$ K9 F8 U7 x0 D& g% |9 @
游客,如果您要查看本帖隐藏内容请回复

/ F% k0 }9 u, w2 C
2 a& z6 q5 Y' Q2 K' K6 l0 _6 Z7 p# \

* Q' n4 M8 o* G2 n5 m0 J" x! ?

0 m: C( j, f" k2 A4 \& b) w' F; r, X9 ]! L' L# g8 A5 g
4 r5 I  [, b2 B* Q
3 m1 e% a  P, _. c0 s9 _/ a: N

, u* h; l' }: J2 U" m0 S- h/ Y# {1 \' P( B3 v/ w
' ~: p6 }/ b7 L# h( C) D3 x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or6 j7 Y! w5 e$ j: H+ c3 X1 |" H
  1. //and% l) B+ Z; s1 [, q6 x1 W
  2. {key1:value1, key2:value2}  W5 }. C4 W1 a+ q- P
  3. [key1=>value1, key2=>value2]9 N" q4 ^7 m2 r! S
  4. //or
复制代码
2 ~1 O9 E# p. ^9 N" ~- x$ Z2 K

4 A4 b8 D7 z  ?* p# C
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-12-22 12:14 , Processed in 0.120185 second(s), 18 queries .

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