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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
查询表中学生年级大于20,如下:" W1 v% D. a* P4 o: z# g+ c
& U" H- L6 n" B8 y% N3 j8 G
db.getCollection('student').find({'age':{'$gt':'20'}})5 P3 v3 u6 ~6 U, ?# z2 \0 N" f
4 W1 _# H6 W5 e5 {) F, g& u
0 I9 o7 ^4 l* W1 @1 V
+ C# J2 b. k! |1 Y
$lt    <   (less  than )6 H( n& y" F1 v; |" l: ^- |
1 a; ^6 Q4 T7 {0 j. g1 R# Q
$lte    <=  (less than  or equal to )
: r1 f; c; b( n5 W$ W8 A4 i  p7 O& j
$gt   >    (greater  than )1 X1 w$ s2 q5 K. ^( ~) ]" f
4 H  n% |# L: ]) u1 U( d
$gte   >=    (greater  than or   equal to)
! l# T# c3 i* X$ l
) C0 z6 T  t7 y7 B6 H
游客,如果您要查看本帖隐藏内容请回复

# H5 I7 c( K% B+ d( O: h+ }. X+ G7 ?# O7 G, `! C, k- k
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}+ l1 q: M% l8 X' ?  O) L- R
6 ]& D4 H6 G# m4 S* n
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
+ f) ?+ ]  K5 C
4 a( f* z, U# |$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list' b! y& L3 D, v1 ]* f$ j' T0 ^2 y

( J8 a, K* K& `& H. j  ~$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字+ X, d" L) [! S4 [: z# G
' m" M# j. Y' N+ k
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
& l9 J4 Y2 j" S) h; y, k
+ I* O( {& w+ z9 s# t, N+ \" E$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int/ e! E3 q+ T2 e, p' a2 j' N
! H; T5 H+ H, m% @
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串# E7 s+ t' m: l% O

5 j9 k- D% |: T" p$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
& M$ _1 e- I2 ~% P$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);* R. m% A; O. r. m" C
6 |( f$ o1 n3 Q8 v- `7 i: e
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
6 U8 S. f" m0 x, O( z
' k' m3 O% u) q, Q; s* B/ [8 ]$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
* {4 b  f0 k: O: e7 S$ A3 C  U9 v9 F5 V  @6 j* v
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],4 d, F0 U( l3 ~5 O+ i
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 6 E( Q7 I( t) ^# I5 L
6 e* z; k1 S& C8 U0 W
( ~" D( |' c- p/ ?& t
# R% V+ C, T7 s
" ^9 L2 D9 |2 j/ o0 g, w
- l6 \! M4 i" d  V

3 G7 Q: z4 o3 q8 E
3 ?% M& |" Y; P( I8 P. ]8 S  h5 m( ^* S6 \  O% i
组合使用方法如下:$ J" X/ I; k: }) y- o5 f; ~6 @
6 ?: `2 w. J0 F2 m
db.user.find({"age":{"$gte":18,"$lte":25}})
3 ~. A7 H! Q* R$ f
# B# C6 L! f# z. x+ e! b
1 ]/ k' C" I' Q4 x8 Q% k. y7 }( ^$ R8 ^; d3 h
对于日期的条件查询方法:* A' i+ C7 T: C, o$ `

6 @$ _' Z$ u& [7 [# odb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})+ b* n; z! l5 i$ C7 f. v8 A
. f8 p% T/ T4 V# K: n

, ?6 p. L% U; D8 G# B& B9 z9 f& w
0 y' {% L# t/ I2) 不等于 $ne
: `* Z* s) n/ Q; z$ Z" i% R( _! [. _1 l) j4 [9 j( D
例子:! q% g/ {  j! W1 b9 i. }

5 |. {- z/ Z! M) Gdb.taobao.find( { age: { $ne : 10} } );! P. w) J+ y" k' K
php7 查询mongodb方法大全. V$ V: Z) v' i2 d
游客,如果您要查看本帖隐藏内容请回复

, j2 B9 r6 a  m) d7 L
+ [" g) M! O+ Q& p$ B: j" Z4 Y% z* E% j1 {5 P$ p# `

. V/ k# w2 O6 t  G8 {. c7 W4 X0 V" W

+ O1 u$ b; I, k- L( g: K
* o# f9 x3 t* `" K0 [$ z
- U$ q" W0 {+ Y2 F$ V2 p/ U* }4 G0 ~0 O

, }5 _0 X  {* N+ [) c: k2 i0 h$ N' p+ \, ^5 h& k. k

& f5 [; ?9 h! g' s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
板凳
 楼主| 发表于 2019-5-16 15:39:54 | 只看该作者
'sort' => ['id'=> -1] //排序-1是降序  1为升序
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or6 H+ }3 Q' |, @
  1. //and4 [8 [+ k) f/ n; F: w, l
  2. {key1:value1, key2:value2}
    # h! l  @0 q$ ~7 L2 z9 r
  3. [key1=>value1, key2=>value2]
    7 j, x$ u) ^) z, u+ y
  4. //or
复制代码
- c# d" `% k6 |' j+ ~& s

9 P8 S6 D$ ~& A. s2 t! ~: A# |9 j
回复 支持 反对

使用道具 举报

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

本版积分规则

GMT+8, 2026-8-4 10:51 , Processed in 0.050961 second(s), 19 queries .

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