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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
7 Y# I6 P) {/ q5 h! `! H8 n, V; \5 _6 f
db.getCollection('student').find({'age':{'$gt':'20'}})+ \' H: v" f: V9 Z5 R

7 m2 m1 N, O2 @$ u3 Q) q9 o4 u. x

, N* ~) ?# d' a" H- t$lt    <   (less  than )
+ m2 v$ u& ~2 u9 C( \* p; [
# L5 h* C4 V$ x2 B, h$lte    <=  (less than  or equal to )
; o. l- P! z1 Y/ W# [5 ^: P/ g7 v
$gt   >    (greater  than )
) O$ G3 ]# r3 s7 L" h. c; j& [) ^9 D9 W: Y' V
$gte   >=    (greater  than or   equal to)6 O# U* x4 s1 x( Z( D; V
: S, F/ P) F1 g! z; i  i
游客,如果您要查看本帖隐藏内容请回复

% F& B' F" }4 U9 L. O) a) n4 y" x  D  ]% f
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
5 X/ q; ^: b" Y2 t& {% |
1 b5 Q& Z# @1 D% A$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
/ Q4 a% }! v9 V/ d3 P6 e  A
8 ~4 C1 h2 n! o( v$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list% s$ t  ^! V( k1 L

, M$ O3 F. Z, n0 P# U: p) w/ ?2 X$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字* p8 h$ W: \; [0 H- H% i' d

4 g2 ]1 _4 p+ \! Z$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在6 A9 E! R% ~3 {6 z  v6 |! S$ S: Z
* r: e% W! Q/ e3 L+ M
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
. d  q2 b1 G% g
2 r; m4 D& h. k9 h) `$ h$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串$ L7 ?, {, T5 f* {) q
  b  G- f) w+ h5 v! f& u
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
7 G" q2 X: A% |8 l4 L$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
: w$ |( ^; {4 Y+ P6 \8 Z
2 o3 v8 _" P+ E1 B1 _) t$exists 键是否存在   {finaGoalLine:{'$exists':true}}
- Y0 l" x& f( L6 L3 W& C
7 y( k, n* l6 ?- k$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
6 p& k7 Z0 h/ F/ i: c/ _1 X4 b0 x5 b8 X
3 J1 R( ]. Q9 a# ]/ k$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
; @9 A% L; P; U$ X5 o' N% c2 _$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 ' A+ t: T) _! j' C9 R

- y  `, M; l( I) `0 V

: W2 m8 ?) K# R) d
, K# E- h4 g- r1 r- \4 k  v

' x4 x: [% f2 y1 F
6 \  ]) t- ]* H8 U) U3 j9 j

: E5 h6 }1 n/ M6 l1 E6 C4 ~  n" m! y# t4 P

! C0 j9 i' h% Q+ `6 w, c0 b( a组合使用方法如下:+ F( i- Z( L+ L4 A( W6 _6 r, B

0 f7 d+ |0 ~9 |7 A# V4 e; w' c; Adb.user.find({"age":{"$gte":18,"$lte":25}})
; q6 A3 p4 ^, o  x5 j5 N% {0 E6 {' v2 o8 ^3 L

! a  d! C$ Q0 G  t( S% ]2 h4 q0 z) G" q  h
对于日期的条件查询方法:- D; c" C. s# {( Z0 h

- q" w" s; k* `% ~2 \db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
3 h) Z% _# [/ S1 H. E  d, l, G. Z8 h( M! O# G( y; ]
: B+ f% o+ v) t" J$ i( d

/ W3 I: @. z9 t& H5 U+ U0 W2) 不等于 $ne
: }  v: G4 f  P( b# e0 J+ p1 _/ _2 o( J: R. E9 A5 X. R
例子:: }6 K& \8 z- P4 p4 L- ~3 o

& S1 U, _+ }. m, @0 Wdb.taobao.find( { age: { $ne : 10} } );' N+ e  B# E2 y0 Q
php7 查询mongodb方法大全
5 o+ K: c6 t0 p( H5 K6 q
游客,如果您要查看本帖隐藏内容请回复
2 t* H# @/ h; d4 D/ F; T" W1 Y
0 L$ O5 v# q0 y3 o# @; Z* {' U

% F, W8 H. i0 h3 Z9 _4 Z' V' R; |1 J5 B

. z0 U& K0 M' n6 D
- p% d. e, d+ m- y6 J
/ j1 o+ P5 O; A/ |
5 J, }5 A. ~) N* S0 W2 t* B) v2 {/ h$ M3 H

/ N- C. d- f% ?) _/ X/ H4 u; }: @$ E$ m
5 i, S6 a$ H0 I/ X6 F% w& G7 d
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or) y1 A; b$ }+ d4 D' P# E, F# [6 o) q
  1. //and
    3 o% o* W! b( n) f/ C5 M
  2. {key1:value1, key2:value2}
    4 V7 T/ i# I* p& Z6 u- ?
  3. [key1=>value1, key2=>value2]
    # q4 z/ {$ z* `; l; G/ m. n
  4. //or
复制代码

3 O5 S9 Q8 Z( f( l
9 U4 G0 a' A. B0 y  n, H
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-5-19 22:08 , Processed in 0.150913 second(s), 18 queries .

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