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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
5 `* F6 L" C; S0 E; L# H
0 {+ s3 S, ^! f9 Edb.getCollection('student').find({'age':{'$gt':'20'}})9 \$ V$ J& J! G

8 }9 j9 |7 {9 S5 `8 l+ c# ^
+ K/ A" K) P( f( Y  d  `1 v& I' b# }4 O- X0 W5 G% Q5 m
$lt    <   (less  than )
3 s$ R- i6 N( Q3 X& T. H
. z0 D% F" }: h6 H8 c* t$lte    <=  (less than  or equal to )5 ?* m7 D. }& N. Y3 q( e! l5 r
# v1 u9 Q$ C2 V$ O3 ]1 X! E6 L
$gt   >    (greater  than )
. [' U1 A+ e& p) m& [+ D- j
% n& ]: z; n4 L( \) l  f+ j$gte   >=    (greater  than or   equal to)& k1 }6 v# ?/ ^. l' F3 M8 o
$ @' N9 i* h1 l% X+ }3 ^
游客,如果您要查看本帖隐藏内容请回复
% F7 O* p2 |6 n
  v- Y) M# U2 m% z
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
3 p. n3 i9 D' g2 D+ J" X) ]
) n! s, e' i/ ]; n. d2 C- K$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
' s5 q9 ^) z- w: w4 u& q7 J! @+ j! [
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list0 w6 Z6 T( q5 f
- j( k' p8 T- }1 N/ l7 \6 j
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字- }+ S' c  ?4 q3 B: I

6 J9 ?. [' m+ V$ n( U' s( k9 Z$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在$ [! f! }, m/ Y8 h' x' Q& o. A
! f0 t. x! \8 p# E' P& ]
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int# ~5 }3 k) x- N9 w! v: M* I

& B) k) @' S; E6 P3 N$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
& R) J7 Q* p+ K. \, f$ L9 P$ r1 ]! V2 ]: v& |5 q
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})/ E' x( L* y  |
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
* T, V( s) s* s! t7 w, t/ l6 c# b, ~" Y+ T+ \- a/ U" ?
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
+ ~/ }6 e) `' }& {
# h. ?0 r4 i+ H4 r$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]' d2 N$ x! i+ T. h9 X
% @* C* g' p+ |. o5 Q
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
4 u; O/ N# z* R2 u% u! ~4 k$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 3 P6 G! ^# [4 F/ g

) S9 w9 t& ?* u* ]! _

6 G7 @$ e1 J( r. z* e  o0 K: W# a# x* A* E0 z

' ?6 w1 k. n  z( R# ]7 l
5 G5 j' b: {$ q3 H

9 \$ D) ~: C5 h
$ {" Y5 y' V* F: }
2 h6 V2 H' Q) f4 U6 j( f; h组合使用方法如下:
& Z  ~% f- d5 R" f: s& }
% S9 C8 r. C3 P; X: Fdb.user.find({"age":{"$gte":18,"$lte":25}})
5 o$ I. Z$ T" q0 r- E) |
. R9 h- V- H3 `) J6 m1 f( p9 h: Q" z2 Q
+ K) }" P: Z8 s7 l/ p5 Z5 N- `$ O
对于日期的条件查询方法:: p$ z% d2 m5 z4 P1 B8 f9 N

: S% t+ u5 u1 X4 [, f  ?. B" s: ^db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})0 d. |* n( T9 t/ L# c" T
  ^- E; c% g/ Z0 i; O' n

. A* L  [8 }: @! b1 _% ?. v$ }
, ]) [/ d) @# [8 p# p; s2) 不等于 $ne% ~. ^5 y1 A' x6 A& y* s
* A  _, W; g! n; Z/ E8 o. U
例子:
6 Q$ d5 b4 O5 w$ L! I9 C( v7 x' L1 v# P4 e! X0 e" u1 S7 ]
db.taobao.find( { age: { $ne : 10} } );
( R* I0 Z7 q0 _6 pphp7 查询mongodb方法大全
7 o9 ]2 n6 U% W; x: A
游客,如果您要查看本帖隐藏内容请回复
; T) e+ T& u+ a% T" }! |2 c( ]

$ H7 T# Y, [$ R3 o5 f* `4 ^4 A2 l5 N* m

) X' [  Q; e6 c/ r# ~: I( i
( S- F  Z# ~- K3 P4 S# _1 P# ?4 Q3 k/ ^+ i

# j: r5 {6 i. z: u- @- X
% w1 C- _1 {: X
7 W, G; j' \1 @+ H- m" n4 l
+ q  C( C. i5 D9 P9 g- @+ J# Q' M9 H  j8 ?3 y+ v

' f: e4 i, X0 G# Z( ~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or9 p' ~2 g0 ~5 U+ y/ A
  1. //and
    - I* _  x; ?' o
  2. {key1:value1, key2:value2}
    ! l" t/ `1 U8 g
  3. [key1=>value1, key2=>value2]
    8 k; n0 q8 q( {! n0 z: n9 N1 E# ^3 A( ^
  4. //or
复制代码
0 i4 N+ p4 `& Z) t7 `

1 @3 g6 v( X2 j, S( C6 n* o
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-9-19 09:49 , Processed in 0.124085 second(s), 21 queries .

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