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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:+ |) f) D. g; P8 [* k

* L5 Q* J8 V- [: N, zdb.getCollection('student').find({'age':{'$gt':'20'}})
7 k4 G4 P5 q* n3 p& E/ t2 m2 j
5 R+ O+ {9 n& [! w7 ^+ _5 N7 ]* V
+ N- T& G+ {) X' U6 a* }7 \9 r0 k, f; E" @5 S
$lt    <   (less  than )0 V2 U% O0 }5 Y3 n7 _) o- Q

5 |( H0 u) t1 S  U1 ~- V5 q! o2 D$lte    <=  (less than  or equal to )/ }$ |! s" u$ Q* g: S
# D8 }0 ^# @3 p" }) ?
$gt   >    (greater  than )
  k" Z) M6 I4 w- H# ]: Q9 }" L) _
$gte   >=    (greater  than or   equal to)
' g4 K8 {& J8 h: I
2 F- V* ^5 X' [/ s) t; [8 d% k9 y
游客,如果您要查看本帖隐藏内容请回复

4 t+ L8 q8 F: e# A% m
5 O( q' T) ?9 L1 c/ b$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
0 H, n- y" k# ~6 y: _7 Q
7 k4 `6 j5 d& [4 _. ~$ E1 K$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
( v4 V& l, [, C
/ h& v" [+ T9 o5 M% h  I- `$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list2 _( X# b  w4 r8 Q1 M" E
, P% x  y5 V  A
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
" z! W9 T$ I  }, V# W- x
6 R( T! @. X) I( x$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在8 |; i5 `: {, e' P. C7 K% i
8 r$ D1 K, E: I% M/ X* t
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
- o- x8 [: F/ a. g
$ C4 n8 E7 y+ X$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
. Q: r4 o& X2 D
( p6 O+ U' Q, `! F0 {8 p: g$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
* g2 c$ m' d% K8 x, A; J$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
- Z  {5 k% d# _' \
4 k# @. T/ ~1 k1 c/ r$exists 键是否存在   {finaGoalLine:{'$exists':true}}
4 r  R2 n( X3 w; L% H1 e# `2 E- u( X" U' O% B0 y& B0 i
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]" n0 `) j2 h5 }* P9 k
! E/ M: N6 u3 h5 R
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],( \& a, \) A: f, h/ ~% n
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
! R% t$ H2 }* H2 C" Y7 A
; G2 U% q9 x9 |% f" Y
! D8 d- U5 G$ i# [

4 Y" G/ w/ Z+ u3 v* |* o$ }
' m% `6 _4 X% R$ l
7 Y+ ?* d" u0 {! E4 B9 b+ P' r
  P2 ?4 a2 p: `) n1 O' G
% V# d7 j( P+ P9 a

: s$ m/ @9 G! l9 ~# G& L组合使用方法如下:1 V3 n$ Z& b9 p7 M8 M1 q
+ ~) i! W0 y; A5 y) l
db.user.find({"age":{"$gte":18,"$lte":25}})
$ ?% |+ W) \* g+ V: K1 e: {% u6 c* j7 ~% s& p
8 v/ |9 h" E' r5 N
; m/ o9 }9 J# x& c
对于日期的条件查询方法:: f9 K* m8 [8 P& n7 a" j8 Q

, V/ X3 n9 l& Xdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})6 b' i7 J5 b2 G) B
0 U: `$ ^0 N+ z

: L$ k* n1 c, V5 I8 [) C: O' o7 t0 K! U4 w0 X6 A. e* {3 I& S
2) 不等于 $ne( K7 G* S& k; c9 ]6 j, z

' @( E' P- b' G) i% k  A例子:
4 g" i1 N) r$ A5 ]5 q
6 M* @, L& Z) p; V: E0 j$ Q1 odb.taobao.find( { age: { $ne : 10} } );
  v, _7 P. |7 d# U: @php7 查询mongodb方法大全1 T1 W$ h/ |/ T. A/ A, S
游客,如果您要查看本帖隐藏内容请回复

, x4 P/ c+ Q! t9 R4 K( p8 O0 O2 R$ K6 L3 ]8 g' B, v; M4 O

0 B+ Y" Z2 ~+ a% @
+ B3 Q; n& x# T+ ]
: ]4 l) J" N$ n- v6 G: i& j2 L* m( Y5 A- f8 N

  K( B. }# X; C" M! Z" o2 f/ r) X, p
4 X1 i8 ~: h% w& h

& f* H$ U, R- {7 E9 f: I2 X# h) F& I: E7 {' x* z5 @' A6 l+ m5 G9 ?

& _0 I; w- b  P# ~+ i0 X1 @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
- ?- e: \! w) a; M! K- q7 Y
  1. //and
    % V2 M$ O, b- p0 r# ~
  2. {key1:value1, key2:value2}
    2 Q; `/ u7 z' L# v2 j
  3. [key1=>value1, key2=>value2]5 M. c) j5 P+ M
  4. //or
复制代码
& G9 F- [. T7 g4 f, d+ M, L! w

7 D7 B/ G2 V7 b  X! T
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-7-1 21:26 , Processed in 0.115169 second(s), 21 queries .

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