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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
9 K) Q& C  {, u# l; Y  t( S- p% x% P1 l
db.getCollection('student').find({'age':{'$gt':'20'}})9 s  }% G! h# S5 r5 Y% M

( S2 S; O" U8 x- c$ b
3 w1 a2 X/ @5 {# O: N9 C8 p6 D% B
$lt    <   (less  than )0 c% O9 d& J) }8 W+ o5 k
% \* \8 w. A) N! q2 P
$lte    <=  (less than  or equal to )
+ N' J8 F% {' a! d7 i( F+ ]5 j4 M3 S" s! w4 P0 e3 B  E+ h+ i
$gt   >    (greater  than )# ~' X( Z6 n( {3 g2 {
( k; V* h: C, W* U1 h
$gte   >=    (greater  than or   equal to)- Q: x' U7 O- k- d0 {  m
- H# f4 V8 n5 L2 R6 \
游客,如果您要查看本帖隐藏内容请回复

- t4 @6 U, b3 n2 ~8 x  T
8 u  ~9 `+ t2 E+ z. P1 a$ {  `; M$ne  != (not equal to)不等于  {'age': {'$ne': 20}}; S# U- e5 r" d

; x2 l/ [: ?8 t9 b$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
1 K4 J" l( c6 I$ y4 X) O+ `' n. P: _" y' D: }
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list: T8 i* H7 {1 ]- [4 g
5 a) `0 f) @/ D2 A' l0 i' ?
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
) k$ |0 W. j$ [2 t6 U% @
" u3 }" L: F1 V$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在# }% Y3 S; l2 u6 M5 F$ s

5 y6 x1 F! r. ^* b" v' k$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
  N) {3 r0 n, S. J2 }  X! Z2 i) A3 [' ~
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
9 Z0 f+ E: K1 G8 A: ~# b; |1 W$ l1 o/ l7 N8 f  \
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
8 w3 J) r' n3 a$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
/ z% b1 h, ?+ |2 R0 O  C* ~0 }7 Z8 _) k% n' H' f& S
$exists 键是否存在   {finaGoalLine:{'$exists':true}}. ^1 s$ J2 o! G* `. I7 l  x- x0 G9 G1 s

, O2 f9 i- @1 S, O$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]4 B: n& }& [: J5 _' m
% a& ?% x. s! P4 o' d) {
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
/ ~' X: E2 [0 F5 m9 w+ n$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 * {$ V2 p4 n+ O- S, p

  E, J, u* b" v/ m9 M, A
# ^6 s3 T1 F0 d; O/ K( C2 d% T
; f! N5 W/ m6 X% O/ j
" i+ |3 ?! J" Z3 i; z, ?

" k( a4 a, J* y: ?
! w& u" e; l* b$ Y7 j2 l* F

! {+ N" L4 o0 x5 N: J7 K
7 Z7 c% _# O! U7 n' W组合使用方法如下:
2 f& w+ H. ^/ T4 |2 x2 X4 [5 f$ T  d* R& f" b
db.user.find({"age":{"$gte":18,"$lte":25}})
1 P+ k7 Q" W0 u* o  x. w( S# t7 B$ Z* S' n7 |, x
& Y& l2 G% T* i: }
, j4 @7 j& `, S, m0 J0 a- {/ Z
对于日期的条件查询方法:7 R; d4 M& P* a$ Q# a, V# x$ [& K
* s( j7 Q( W+ W) Z
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})9 x0 y; A, f8 e# d: x9 G$ b/ w

( q$ R' g; G; h! a& @
! G- _2 |- k5 q/ Z0 L: u9 x  [4 F0 G9 a+ d( {  o' G4 F
2) 不等于 $ne
! L2 d  }& ^, `5 @$ V
/ x( T% U0 {! `- i* ?  g, ~例子:3 G# H/ H* a/ \: |

0 I% h: |6 _- }0 B: Ydb.taobao.find( { age: { $ne : 10} } );
$ T5 ]9 o& u8 kphp7 查询mongodb方法大全, }1 _) w3 @/ P1 c. Z) ^* O
游客,如果您要查看本帖隐藏内容请回复

% t" y5 |. W. b3 H. Y: |1 N
: i; J' ~  R( a8 j# P) ~/ t( c7 c' x0 J9 W9 i

8 Y) v- k" Q# j7 A: w
" X( J, S% `* J' o8 [
( b7 \7 b9 b8 b& v' Q4 S
5 o, N0 D' g$ d8 [4 x4 L4 C+ S3 x: Q( C% v

2 \6 s2 B/ E7 Z9 @$ [1 r
+ y; |" U3 J% y+ N
" C. \; l% j& [* B
2 W' p- s3 v$ [+ y4 L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or, l  B( X1 O$ ?& E  j
  1. //and
    " \! G5 }  |0 K& o
  2. {key1:value1, key2:value2}
    " q# \$ a; k$ m# X* q6 m
  3. [key1=>value1, key2=>value2]- F" f* ~% k. g& |* o+ S0 k7 M
  4. //or
复制代码
8 e) E6 ^( C/ q8 C7 E& }) O) U

4 u3 u8 K7 p; S1 R" H5 h% r* d
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-3-17 18:23 , Processed in 0.061679 second(s), 18 queries .

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