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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
查询表中学生年级大于20,如下:: {1 q! T2 u; z
( b6 e: e, x) W2 D7 S: k
db.getCollection('student').find({'age':{'$gt':'20'}})# @- B8 O; r- ^+ J% S

, |  t& W" G- b8 p( k2 f& Q2 F  G" D, |6 c& b
  {! C& G, I* K' b$ v4 N# {) S
$lt    <   (less  than )
6 {2 Z( T5 C/ j$ r4 t6 }6 v
5 t" F+ \: F/ _4 M4 d1 l, t$lte    <=  (less than  or equal to )9 o) e5 ^- N- I7 B5 m$ h, b

& {9 D* z/ {! r4 G2 a$gt   >    (greater  than )
6 }, W0 T7 h6 r: i& o+ t% ^2 t& `1 H0 K' y% B+ U: z
$gte   >=    (greater  than or   equal to)
* m5 D3 Q# q9 t2 E' a: k- u  _* N6 V: ~, ^7 q
游客,如果您要查看本帖隐藏内容请回复

% W% x! R8 H/ }  x; r  A
- ]! X6 O& [+ y1 {$ne  != (not equal to)不等于  {'age': {'$ne': 20}}' _5 Z: Y  i# z
7 n" p1 D# `- T- d; F
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
6 k4 m' O& w% Q) i8 W: J
& x3 R/ I* s0 F( l2 ]2 x( ^$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list. P9 p/ M- c" x3 x) e

8 X2 e  y' Y% c" c$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
$ E) L" y" j; x3 B" x! ]7 ~/ Y* R- Z
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
) |9 D4 O# m' z, N7 Y+ }4 G/ M8 O
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int0 i, @% k6 C: p
( S# B9 n, f, S! A  }; U2 b
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串# Q3 [+ T& ]# _- F" z* \

; V3 ~' F: ~3 E$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})$ W6 L3 j: e% @# n5 r- G4 y( v" ]
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);2 S6 z. b( G# n( r5 ?1 e8 ]" u

9 @, e( U+ y* T$exists 键是否存在   {finaGoalLine:{'$exists':true}}
! S0 s: i& }5 n: Y7 O/ r
) W( R% c4 y7 A% ?: Z8 Z$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]* ?8 M. o& @. J% q% ^: y# c: v- f
& R9 L2 T8 `4 s: M* Y/ V
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],4 T- {" D0 r/ t2 S8 Y
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
/ M' h, k! R8 Z+ x4 t  V; {
) r3 R$ c- U6 {

& r8 w* W" N9 u9 L& u0 ?2 f* u( s+ E+ \

/ J8 E; l. w7 j( G2 Q9 Y2 |
2 _0 t8 h9 m7 y- l: w  E! U
& X! E( h5 x; }6 [$ E5 c3 ^
8 @5 l7 Q* L. p: Z
8 ^! @, p; J  v8 x
组合使用方法如下:' @; G% b1 [: |7 X
" h9 ^: o2 R+ `% J& P
db.user.find({"age":{"$gte":18,"$lte":25}})! k& F9 D' I3 \" B5 F% V. f& i8 m# |

( l2 n6 f, ]; s
7 p# X9 a( P0 T" u( \) A8 T  N5 r
% T3 W. Z" ^. n+ S0 d对于日期的条件查询方法:
9 W# l& C5 W( l; z9 U: V, {4 \9 K8 V# v  D, |9 S  g$ U9 ^1 w+ w& ~
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})7 P8 n; _  o( S8 d: Q, {

# z  H: \6 i/ x9 J( ]- N9 U! \+ j1 w2 s
6 I. o7 S* j1 J4 w8 _! k
2) 不等于 $ne  m' |2 `8 l6 j, J. J- S0 ]
% r5 Z: Z" Q; D/ _" m
例子:
# r9 l4 L* `7 O: j" z: [- [% c1 T1 w+ X" K' S
db.taobao.find( { age: { $ne : 10} } );. ]; b7 U5 `3 ?% t
php7 查询mongodb方法大全* S7 I: v7 A' M  L
游客,如果您要查看本帖隐藏内容请回复

! v+ W  v' P4 O+ z; S% F& x4 w5 x8 b9 k0 S3 a5 Y) t

* S5 |- h5 A5 I4 X0 F
2 c* \" V6 D. o& \6 a
7 d. G! G/ L- l  i3 E0 L/ @7 e. a( `) _7 z- V  a: u' |. f

. o5 i' [  l* ^6 y! C! |( e. ^: n+ _" L
# I6 I0 L& B- V

5 Y, z5 M3 ]3 N7 D3 H" u
8 S1 p" ]) }$ T0 n' n, r. d1 G
# Q! |3 x$ t7 E6 B. {: w3 M) P# a/ n
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
板凳
 楼主| 发表于 2019-5-16 15:39:54 | 只看该作者
'sort' => ['id'=> -1] //排序-1是降序  1为升序
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
& i( D# A! v3 q
  1. //and
    $ z/ q4 f" R+ s
  2. {key1:value1, key2:value2}
    " U" L7 Y; l/ |) E$ Z( H" E
  3. [key1=>value1, key2=>value2]
    ( s2 \# Q; N% k8 x
  4. //or
复制代码

8 H0 R% a* M8 y
) C' ^2 R( ?9 ~9 U- e+ Q
回复 支持 反对

使用道具 举报

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

本版积分规则

GMT+8, 2026-6-20 01:53 , Processed in 0.058059 second(s), 19 queries .

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