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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
' [0 B1 Z% p1 o, E6 N, z
  }. n, k# u1 D( D3 S! |: _db.getCollection('student').find({'age':{'$gt':'20'}})
( b" l! m+ J' _0 f" L, s  |; q
6 t# e! m  i$ t; ?8 x6 E8 F
; R# g- d: L+ ~5 Z7 s& g9 {3 J/ M# r' @. I7 {
$lt    <   (less  than )# `3 O* q0 A4 }' W* x$ i% ~

2 Q' F2 b6 ~1 w9 ~/ b* s+ d3 d! Z/ B$lte    <=  (less than  or equal to )( W: h- g# Z7 |
9 y1 D3 C5 A2 O0 v( v+ Z" F
$gt   >    (greater  than )
( Y  e5 r* _1 `, b5 B3 s8 s- U, N; w/ m0 m, E
$gte   >=    (greater  than or   equal to). X! d8 R5 Y( f1 j/ W" I4 d

  B& J3 |- X1 }/ |4 A1 p$ Y: T
游客,如果您要查看本帖隐藏内容请回复

1 u* V$ f6 D. p' T1 W, U" v. E, [, d: A+ X4 R
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}; E0 ^* q8 R+ A( k: W% r

! G4 ~  p) B# I5 @" f$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
) a% W  m; t2 l8 C) W+ e. e
$ e  p1 d: e* [$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
) @% P: Y- G* Z2 O- ]
  m% r+ [1 x) H- c6 s- R$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字' Y5 M* E6 m& t/ A( n
0 [# G% g- C- }% i* z5 f
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
8 \! R9 g' F! P
) z% L! L0 N8 Q; z$ t6 X+ s$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
: a1 s3 {% c9 ~
( l; s  g: A) s5 G. U( o2 y$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
1 Z6 m' K% r- E2 a( s" c% N- n
) I& [6 e4 e, z: H* f6 v0 Q* \$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
& y' o( V, _- }6 R3 O  {$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);/ d* i2 W5 c& d" |8 \$ W3 q* J

/ ?' U5 c+ _) h! J2 F  j& u/ U$exists 键是否存在   {finaGoalLine:{'$exists':true}}6 K# K% u9 s4 Y1 m! O' W
2 b& Y1 t+ {& g  V# K  I5 x5 |( ]
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]8 o& S: |  d; J; G; L3 ]4 S: i9 N

; U: @  s# s/ m  k" a, l! k$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],$ Z$ W6 {2 M) ]# r% M$ ~
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 " ?- A- g; a; P) h

+ A" f2 g( }8 t5 {. e* A/ W
& `# u! Y# f3 m/ d& f5 p
) `/ {6 n9 D; M0 c4 S8 ?

" M. D: M" C: G% R# i/ n/ h( H' a& o& O4 d
  ~* v- `% ^$ V' ?/ F# v

- F5 T0 a+ G( E0 R# f3 i
+ K& Q0 i& i; k' h* d组合使用方法如下:
# F8 H0 X- O3 p. `5 t1 K% U7 u+ }2 ?7 {: t' \
db.user.find({"age":{"$gte":18,"$lte":25}})& i$ A. L1 J5 P  X! D+ V& X' x
& y/ S0 O4 {% G1 [

1 v) E' e, j5 j) L( i* {8 b- J
4 f) }' Y0 t3 D9 h/ |8 y对于日期的条件查询方法:
( g; w* M4 ?& I7 u% [+ D# g; y* @
& ]3 s$ v/ J0 b* edb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})  J& a8 Y; H; c: P7 y5 q7 N7 P

# E+ x0 t4 s# C0 _  g, S9 F) U" x+ t1 t+ \$ w9 J8 Y, K, _
, j, n5 F+ j. S7 r
2) 不等于 $ne3 h% i  c! S5 f
$ m& p, [, w6 ]
例子:; T2 B0 v. e' v# A* z4 I- C# q$ z

; R9 r) @: l& ]& Y! @& \; v/ `db.taobao.find( { age: { $ne : 10} } );
5 \+ I( c1 d$ R' G/ c5 f# [/ _8 J/ zphp7 查询mongodb方法大全
- h& c6 l* x( A8 M
游客,如果您要查看本帖隐藏内容请回复
2 l8 i& m3 U( S% _2 s6 e+ u* C5 d
# u. O5 {8 @( N- ^. o; X
* [( C, v* H- p8 ?

0 L; G2 A1 M" g- `7 M& |/ W& w' F0 x3 @& M& t+ E% I& Q

3 t6 E  ^9 {- _9 o& U
! P7 m* e; Y6 p* T; B2 M& ^! W
! u% H9 T0 d# Y2 q
2 {% B% \7 N' w4 r6 e" B9 k! @( F
3 x; f, E3 _, @! j3 R
: U: b, q9 k( K3 n" f
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
0 ]' K, S9 u. e0 d! N& w# N6 c
  1. //and3 x/ `) I1 {- }8 f
  2. {key1:value1, key2:value2}
    * U. U7 A! s: P2 f1 {
  3. [key1=>value1, key2=>value2]3 Y. i$ j% A0 t/ ?- C" i1 @+ g5 F4 t
  4. //or
复制代码

  }( |# B+ H) b: Y: [1 B$ E
6 A+ @+ ^: Y: K/ O/ M2 A5 Y' }$ M0 k" N4 U
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-5-2 01:14 , Processed in 0.115387 second(s), 18 queries .

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