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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:" z! N% M5 S- a  b+ R) x6 a
& \' `7 u$ f* N4 [' L8 N
db.getCollection('student').find({'age':{'$gt':'20'}})
* ~; s; l* l7 Y- O% X2 M" J
2 c% T8 y: e& l* `
5 z: H; I5 N5 ~
* W2 o- k/ C7 M& l" Z4 C$lt    <   (less  than )4 O, d  i# c# F  ^
  H7 Q! p( p) c6 ?8 E4 }
$lte    <=  (less than  or equal to )
1 k( R  |9 C3 I4 c. \+ C& Z5 o. p2 \9 ~% ~; A
$gt   >    (greater  than )3 M2 e5 a. w2 E

; [- b: L" e$ E5 e" j  Y/ V$gte   >=    (greater  than or   equal to)
) f. d: [% k9 t# @% N$ H; x4 i# m1 k! k% L7 j- z
游客,如果您要查看本帖隐藏内容请回复
* i5 l- n! d+ N! O
8 _  U4 [7 C+ ^2 g8 K/ M3 I4 B
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}5 D( Y  r! V1 A

0 E9 S7 E' T- ~7 x( F$ a7 m6 P) U$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
/ N& U" J, m* q+ i0 @  a5 Q9 M9 H- o- I
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
% y% l0 s( `" g/ [- U) [; t# Z3 X2 K3 `2 U
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字" N' x% h2 \4 u: d3 m- ]) o) o
! h- l: d. @/ G8 R6 o! Z8 K1 k
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
; `+ f% u; N) Z" W8 B2 h6 V* V
/ d6 V" _3 d/ q$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int: U% H& y+ K6 j# V* a
8 D' h. r% J. g
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串3 }0 x% i2 i& I# Z( k; J( H- Q) h& I

! w$ Z4 K5 N$ c# Z! p* ]$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
# H9 U5 G0 l, s- {) Y$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);- Q* M7 e& }' @6 z8 _. X
9 U7 D# c2 n5 w* \
$exists 键是否存在   {finaGoalLine:{'$exists':true}}1 W! G) N) x( W4 B7 Y
3 ?, J) ~3 J  j6 W, T  e3 _% \
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]. F6 c# C2 H8 d% Q

0 c+ O  c2 W% {+ N1 P$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
% T; g$ s  I" ?& c$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
( F4 M; N) G) P, r
/ i) ~6 d3 S: ^4 n9 A

$ H7 V/ C9 F. @$ v) W
! D  H0 f: ?& x; u$ \) q: S: W

7 l( z5 [0 }8 V7 X' g# J
- S; O& a! ~' Z. L) y$ f) k

2 }! h5 D& A- c6 z" M2 Y3 h2 c9 h' R' I+ [+ H
! \. G0 d; A% b% H2 C+ g: ?6 z
组合使用方法如下:9 w7 E) r0 f  u' i& A& N

9 q0 M7 J/ p; a  H% W/ \- cdb.user.find({"age":{"$gte":18,"$lte":25}})0 [# Q1 n4 u* A" |/ k
  V/ T$ X" t2 t+ B& @( J
0 N1 a- {, W; f# a: U
' z4 a. y) h8 {& p
对于日期的条件查询方法:: `9 k0 f* A, [2 Y9 f
# r2 Q. ?; F5 H0 R/ i1 e; F$ k2 ?" B
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
0 S0 C- l8 c4 e5 z9 K9 p5 [: p) R1 R

, N/ H% V( Z. \4 X
0 G# ~' Z% }7 |9 c# _2) 不等于 $ne
9 g0 k# ]/ h! r9 Z, ?+ B& l2 A, Q' |& j8 W$ i4 k
例子:6 l- {2 p3 a! {
- g' l3 ?5 U- {* t8 l
db.taobao.find( { age: { $ne : 10} } );
1 l; l3 s+ [3 s- Vphp7 查询mongodb方法大全4 E) T2 B8 v  a  A
游客,如果您要查看本帖隐藏内容请回复

! h+ @" J. E/ b, {
" {- n3 _) o5 {7 k+ L2 y3 l+ O8 N- a2 ~0 i$ t  R- C

$ s* T5 \2 Y1 s2 r! X
2 e; k1 K5 V0 Q2 y3 b) G" ?& C; _) i  O* C# X

; d$ V! E" ^1 w7 Q- A' e8 G
8 T& `1 m6 ^. {5 @& Z! a3 r1 D0 u, U) K# \) F* X, P
  V4 c8 A# U& c" u( f- R- h
  h" n0 A1 g. x+ `5 E  Z2 }9 e

8 l0 d& H% K( O( I/ [" O, f
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or* c) Z9 a' Q" L8 P) |
  1. //and# d! C" B6 e+ a* m7 @* J( P
  2. {key1:value1, key2:value2}
    , ^7 q* _7 w8 E1 l5 E7 a' I* i+ e' i
  3. [key1=>value1, key2=>value2]2 o  b$ n! g+ K6 W# x) p
  4. //or
复制代码
2 q1 A" J$ P7 q

" K! @9 g) G2 k  }7 B' W
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-8-4 08:12 , Processed in 0.060390 second(s), 18 queries .

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