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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:0 G  I0 {: O4 n/ E9 w

7 u# f% {  S; Z3 g0 x& Q3 fdb.getCollection('student').find({'age':{'$gt':'20'}})+ v! u) @4 O+ {1 G9 ^5 q
( I4 u' o2 B# Y/ U$ w

& n; a# n' M: V$ v6 e, H1 I0 n5 C
  d" q7 B: Z" C+ H: d$lt    <   (less  than )
- R2 g  n" t, p1 `2 k, t; X* b& J$ {
$lte    <=  (less than  or equal to )3 h5 n! \/ [" g) q/ Q+ ^+ N  I/ d
; S0 P6 ^. o/ O1 _& F. r0 w: ?
$gt   >    (greater  than ); w, @3 m) R  E3 ]" J

4 S; J: d; X7 o  J& _0 j$gte   >=    (greater  than or   equal to)/ w  C; I* ~( i: D- C
  m5 o5 ?, X, `4 _0 e3 k
游客,如果您要查看本帖隐藏内容请回复
! E0 Q% g$ `$ V# _; a

+ k$ R  h9 {- j+ Z+ ]7 g: B$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
. H% T+ A# n! c
* a: v/ K. g# h% B7 j$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list0 ^( H: _) P0 U# N
- b0 Z. _: t1 H" V5 T- ]
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list1 u8 X- V  F4 {& ]- [5 _
  _* V% }# x! z* f, [  x
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
1 G, m+ f; b  a3 K: u7 M% Y* i: I/ L4 R
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
8 X1 z& {+ D4 d* u% P9 l
* e, e2 t5 V  h4 ]3 x) }$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int* f5 K- u% ?2 c$ T! x

2 x# g5 N* z0 k6 y$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串8 H: p' r6 }5 B& N; w  ?' _9 G/ C

  g) f- v' }3 Y6 l$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})% q$ ]& N  x1 a8 u6 F
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
& z" x: C5 n+ C  b6 X8 x% M/ H$ ~9 [0 E8 q: S
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
+ w. S+ o6 Z% Y  x1 d3 x
' L; {: [5 m; R, j  c5 ^$ G. b" L2 Z$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
1 B  g; M5 r, n# v9 k
' m' _. f7 f9 a$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],* j! H8 ]& d; X- V5 H+ c
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 9 j$ y/ _, x8 ?6 k9 ^

: s$ p3 ]( j$ B/ K

; r3 Y  o% p  P/ h) \4 d# G; E0 C0 B3 g/ J& k( f1 D
8 X# |8 @: `1 q9 L3 w) p! D( `

: C* w5 O! k, ^; Y2 w1 c! p

/ C( _1 l3 `  m3 z3 m0 j3 V2 K
" P# c* ^$ c! g  G7 [$ O4 A' O; |9 y8 X
组合使用方法如下:
* L8 m! r- X- W0 l/ k
5 @8 i. n: }' j) `0 e2 n+ {db.user.find({"age":{"$gte":18,"$lte":25}})) l( E6 V1 n7 A+ T0 E' Q
9 ?2 ~& _: h3 s- H8 s3 {+ J

0 u" A( K/ q0 \# F6 _
; z6 I' c! N/ ^# G对于日期的条件查询方法:
, R6 Y+ ?" H3 W! Q1 C( C9 A$ t8 {1 ]* [$ q, S
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
- ]5 p1 F( Q( r$ f) W0 l- }0 e* G. Z% s. a
+ y) ^3 L) h, i7 ~; X, b7 h

8 O2 I7 ^0 v6 v2) 不等于 $ne
2 L- |! F8 q6 a5 Z: b" ^: t: P+ i5 R( M8 K" Z
例子:
; w$ i3 x4 Z/ s2 l' l; L* I3 W. G& L" c, _  y
db.taobao.find( { age: { $ne : 10} } );: S0 r! l2 I( S" G# e0 X& b) N
php7 查询mongodb方法大全
& V: t, F( M0 `  i
游客,如果您要查看本帖隐藏内容请回复
2 D4 \# c1 ]) o* J0 w5 v/ l

& K/ g5 C; l+ v/ E/ s6 m& R3 V: _% M$ L7 v5 e) O; N
8 J8 o2 l( \1 g, o: z& J" F3 z
5 L2 J* ?0 e  ~3 b2 k% @) @+ b: C0 {

1 W- x1 _# G1 N4 m- o  s
6 t! @( b; Z0 M5 t3 I8 ~: o9 g8 d
( _1 X; }3 k0 f! x* }/ E5 r" y+ {  k

3 ]7 {% H- t# _
+ U) G5 z8 C, y# K0 @! I* G" _" C3 e2 g/ @
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or2 i7 I0 s/ p1 P" F$ A% h' S# e
  1. //and2 i9 E# I$ `7 \% j9 V  F! R& x
  2. {key1:value1, key2:value2}% e8 d/ U! q6 L5 E! G. G
  3. [key1=>value1, key2=>value2]
    & j" i- {/ f3 J1 x# u
  4. //or
复制代码
$ B8 |! p; x7 E1 X
9 {5 j3 s1 r8 ?  A; }! x
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-6-19 22:40 , Processed in 0.055512 second(s), 18 queries .

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