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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
$ }; |' j* W& H" @, J6 q8 u& B
4 B  M1 e) b8 d0 k* Ndb.getCollection('student').find({'age':{'$gt':'20'}})
( ]( `9 x; q& l6 T: z- E1 ^: \) q9 U4 ?7 W3 J; s
5 E6 B% l( d! r

- L/ x8 p: E4 r6 V+ a7 @$lt    <   (less  than )
# n* @* p' n- }0 l( T4 a7 O( l5 ^0 |. `7 }* T9 \  p$ D
$lte    <=  (less than  or equal to )
! D5 ~& n9 R3 {$ E9 m
1 U5 e$ ?* S; j* P* K5 k$gt   >    (greater  than )
  G  |6 u6 Y/ ~. y& G+ d9 t8 W* Q
2 _# g) X" S. v# k( d+ r0 L$ }$gte   >=    (greater  than or   equal to)" e* q' S* H' d( b1 k  ?; E( Q

4 m( G- U) Z" ^7 U# Y
游客,如果您要查看本帖隐藏内容请回复

$ A* q; h- k' R: |
( R/ a' Q1 g2 D+ r$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
, {. j, s1 |1 `' o3 M6 t% S: L# _8 Z, v) ]0 i
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list  T! _7 b) a8 n$ J) _
3 \4 O1 ^. i7 P; A1 y
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list& Y7 f8 s6 T; {% V  L* ?8 x8 j/ F

8 k; E! ]4 z* G/ u* o$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字1 \/ f  a6 @+ q8 b6 T

7 R* E! {1 `/ S+ ?+ D4 V6 V$ ?$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
! g8 T, v: u: z5 l0 ?/ R) q5 Y! W/ H' r: f3 T
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int; w' G) Q. T( a. l& S- t
6 m- L* W# m" w
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
# t* k, y( V" ^6 u& W& |
0 D% M) _5 J, f2 N4 D7 T& y: Z$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})3 T* H) k; F2 x+ ]. m) l
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
1 ^- P7 F, c1 X# S& q  Q% }
  x/ Y6 ^3 |+ f  `1 H$ \6 D8 a: Q* Z$exists 键是否存在   {finaGoalLine:{'$exists':true}}
" v5 S7 c: A" g" Q$ X( i7 R" ]7 S! S! ?( g4 V9 \
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]/ o: q; J4 {/ N- b! X# l: R

* k* E2 a8 M( Z6 v  ?, Y$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
, ]5 w3 ~& y* u# G$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
- n" c# i& B8 a- @( n  ~: V9 n2 A/ u8 f+ f" C
* _6 V; w. v' a1 v$ `' g

: k; K1 [7 n. x1 o1 U* m$ I

# m' c" B5 M3 X& R" u5 |
# f6 F) [, j0 h, |) A+ H
7 [- B. H* v$ I5 f% |
2 c; @  G6 o. ~" a( Y+ h" n2 S8 X: E

+ x! r- {: @1 J7 `& |: [; t4 H组合使用方法如下:: C6 d6 _3 q( Y

8 \: W" C' D1 |9 ^/ U4 y* Y* Xdb.user.find({"age":{"$gte":18,"$lte":25}})6 y- g  O" Y; [: _
, D4 z8 z( G& M" V

3 }! j& S! N+ H( U. f4 T+ z# k9 `; r* x& t3 f
对于日期的条件查询方法:
; R- y$ w: B' |8 c3 w
* P5 P, r2 e9 d7 Ndb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
9 e" u% N% Y! @3 u. H+ ?& U$ c) E4 W1 l  I8 a' u* h" S- k
' K; [) i% c; z$ ~: f

" c* _0 i1 ^: c3 C' R2) 不等于 $ne
* _- e; C. x; A4 X5 J, Z7 ~3 A% J
& y& @9 R6 U6 {. A. T5 K! b) w6 N例子:4 D0 [/ `2 J  y8 @% `2 ^3 ~2 `, N) C

4 e, Z5 F! O/ ?, p( B0 Y& [; p. e0 Bdb.taobao.find( { age: { $ne : 10} } );
" z& I* p  Y* `. k6 sphp7 查询mongodb方法大全
9 h9 n6 I3 |9 Q6 W& b0 {
游客,如果您要查看本帖隐藏内容请回复
) L) Z/ Q  T& n( p; x* n; H5 T
$ ]' p( K8 F' p3 X

  R0 R7 ?7 G$ n% S! U8 l9 s- i3 I
4 ^# t, b; Y$ `/ ]
; M8 o$ u# N1 Z' A4 P- r
$ l+ U0 U+ H) D" s5 t3 j: P! m! G6 y2 C+ z1 M" h

  A% u5 Y. j- I2 u
) n; ^* r/ P8 h' m: b  R
) `/ |5 m6 ~1 J/ S1 A6 ?4 ~7 r. @8 H; N3 e8 ~9 g6 @! W8 r

8 K( x2 Z; ~3 }* s7 O+ x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
% }- P( h% b" s1 G" D
  1. //and
    . D8 T9 b- h1 k* a
  2. {key1:value1, key2:value2}
    * p0 E: X2 _: x: ]4 K' P8 I0 i: J8 H
  3. [key1=>value1, key2=>value2]
    9 A2 r' Z/ M5 z& D  ^/ f
  4. //or
复制代码

3 H  y1 ]. k# P" q' D/ Z1 ?/ t- g# ?1 B+ Z) u
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-3-17 01:24 , Processed in 0.072006 second(s), 21 queries .

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