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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
& Z+ k+ z  `1 x) q7 s* l- g: t. H1 n( [7 |4 t1 O# _
db.getCollection('student').find({'age':{'$gt':'20'}})
" B. X# O& ?* \0 b/ }+ m  G4 `" F

8 K0 t! O; B/ P& S  r; K3 u( Q4 j  E) ?/ V  W5 O6 d
$lt    <   (less  than )6 N3 H$ b: D3 [. }- b% G) B" |
/ Z8 W' \. W' f' s+ G1 V' ~  I  _, D' ^
$lte    <=  (less than  or equal to )* D  k3 q/ W) k/ y! d: h

0 k- y7 c0 Q! Q4 I$gt   >    (greater  than )
: F5 L/ w0 e* \; r" d3 I3 h, t! d+ ]0 N7 Q! Q
$gte   >=    (greater  than or   equal to)( ^7 A+ A5 a( p5 L4 K' S3 m" `
$ g$ d5 h2 u) {, I3 i+ k  C( ~% @' _
游客,如果您要查看本帖隐藏内容请回复

  g- W& C9 ~! V7 `5 C: D9 D4 [" C' p3 v$ S% [3 c% W4 u9 R
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
( F  i" W8 m0 _) _2 M. p
7 x9 M/ t9 L! n2 a! k1 z" |$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
- M' S* W$ d! q* U( B; `1 ]- u. I3 r9 Q/ i2 @. g+ ^5 X/ n
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list2 z  n* P9 h( j0 b& h
* T' }3 [- x' r" T
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字8 X3 G7 m% d# }( M( R. p0 V

% B5 U7 R2 r# Y: u2 o$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在% C) H. _4 v8 }2 k( x9 }% n# \( ^
  {' h+ k% Q* y. ]) z
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int' [' m: \9 d$ J2 D5 i  i

- L7 r3 I+ B# m# L$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串% ^/ c9 H3 J3 `! Y) H

. M2 D% d0 a! e: L" C  W0 w$ c1 K$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})4 x' q5 \. t4 Z' ?& d
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);! q8 k( V- J% w3 H# o

) B: n+ s8 p2 v# N% ?( L; B, Y* ~$exists 键是否存在   {finaGoalLine:{'$exists':true}}1 {% `6 m+ b3 S1 Z4 {; n' Y) m" [

5 Q4 q! f  \& d' z6 d$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
9 o* O% u/ t9 E: ?
+ N# A& V, f7 c' D+ p$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
) ]: c. P* h  c0 V! V$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 7 U6 E7 {9 F  X* s

5 p+ w' q4 _  a7 `7 A! O
: a. U9 K" C+ V) W; ^* S/ R. A
% k7 x5 f3 R1 s0 x$ \- K, E) \4 C# U

7 e" j7 [# s: ^. Q: T, F8 I) i' @3 E1 h$ u

7 C4 Z( \6 u- v1 }; B8 ^+ C0 S  z/ A4 h! [
& w( e  H( o: i' u
组合使用方法如下:  {: R% |- q% J1 ^: o
* M' \& t7 a, ?/ o+ _6 B  j, w& c! ]
db.user.find({"age":{"$gte":18,"$lte":25}})/ ~7 H$ m0 N6 L- [, p3 K- Y. }
( K# m7 L3 b9 {1 e6 g) n
# \4 {7 t+ u1 k! o: b. u

7 {: r. N/ z) e8 B' j+ A对于日期的条件查询方法:) D7 W' W/ a1 f, O: h; |7 V# ~) n% G
9 w) O! z! P% q; l* g
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
5 O% T1 Q" e( W3 O, e6 e7 e8 w- H' a) m. K, x
) f/ a4 U6 Z! A2 l% c

4 m$ q2 E1 j- i5 U2) 不等于 $ne3 G4 F( t; \# L6 d/ t

2 ?3 W8 a  q0 c- Y! a* Q( h3 t, _例子:' ~, ~$ c) C+ K! {" ]
" y2 i7 _) k* Z( `) K% |4 G
db.taobao.find( { age: { $ne : 10} } );+ Z0 C- l9 I2 c  ^. S
php7 查询mongodb方法大全
8 w( K' C/ y5 R8 c
游客,如果您要查看本帖隐藏内容请回复
; [( h# b; b7 T8 |, V6 c2 R

" Q1 q% T& i: H& ^4 {2 E8 M' q3 j+ ?0 d3 ?% m

  U4 j- y9 I2 |
1 w& ^/ m0 k# i! O3 ~- d* t' n$ l0 i

* q4 S( [4 T1 J( k' u, f. ~& @2 N8 ?, a* m6 F! Y% W
# p& H) I# l7 T+ O! X% Q+ X
; E: g  @) N1 O/ ?
+ c* ^6 t9 Y8 z) h2 `0 f

5 _$ e" A( a" t. [: E( S/ w' [
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
  V* ^! m. s3 ?% w
  1. //and6 e# R. D2 [! b1 h, K: i4 R. Z
  2. {key1:value1, key2:value2}
    ; N2 z" X, R+ F% s; q) C( x( b: T
  3. [key1=>value1, key2=>value2]
      z1 i* m4 V% X8 n( p; D) _
  4. //or
复制代码

1 c- H" ?4 @5 \" @5 Z9 d# @% R7 Y4 j, W
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-3-16 18:19 , Processed in 0.083063 second(s), 19 queries .

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