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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:9 N3 U/ s1 S& ~* z3 y, ~
5 p; A0 ?1 ^/ B0 t* O& I2 B& r
db.getCollection('student').find({'age':{'$gt':'20'}})
8 s: X" @# I9 w
3 h9 U. x' G* O5 q: ~5 c9 a. `/ h7 N, f5 v

0 d* z* u2 C& m3 L7 a! O' ?$ y$lt    <   (less  than )
% y! |3 m$ l! ]) Y! c; C8 N5 M$ k( t% p: }" V% L& ^' Y6 s
$lte    <=  (less than  or equal to )
2 ~* U7 V" e( Q6 E, z6 [
, }" {/ n) m! q2 R$gt   >    (greater  than )/ x0 N" {" \. A
- m* E# d) ~# Z$ f! R- @/ k
$gte   >=    (greater  than or   equal to)6 @. M. Y/ R8 `

6 C- g& W  X, v
游客,如果您要查看本帖隐藏内容请回复

9 C9 n# ?' [4 k/ q/ e3 y
7 u& R1 ^' T1 L$ T: F" A$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
' Z( n$ s$ w0 W6 Q
4 O$ P- g! i! ~/ w+ ?6 S$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
% ^9 f4 x- b; _# S6 A
0 I" D# c6 t+ h9 t9 b1 T$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
0 R- L' x8 P; g4 {1 `$ m( h4 P
7 y3 M/ m: C0 E$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
7 U2 q6 G2 W2 `' I6 s
+ f: j+ N5 g4 n% X" [' k% D$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在* @8 L) Y! ~- N  ~5 |6 i
4 W  J; `9 M$ G6 H$ h
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
7 O2 B* [8 t! k* [$ [
' a& Q$ K  Y7 Y  s$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
3 H0 C  E: _: s4 C: X
% j# u6 }$ v+ Q4 m) Z$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
1 y7 v* Y$ C5 w, |. \9 @$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);' ~* m. I5 Y5 l1 m7 e/ k: {

1 Z' k6 V' R9 j$exists 键是否存在   {finaGoalLine:{'$exists':true}}
7 a4 K0 B! F; h9 ~3 v: l) M5 J
% H, G3 |; H8 {$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]$ m( q( p/ o: z# l  o! v5 i
+ j, l9 z+ E: j" _& R& x
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],5 J6 E* M9 \. j8 ]3 I
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 4 _& Y4 ~6 |- D0 s+ z4 R7 v" f3 c! Y
. t5 H6 M' g' R% G. g

- Z& T: z5 @/ M. d5 D! q/ A& N/ q, ^+ |+ Z
6 q' V6 ]: b! E" m" r- G+ D
, i8 \/ d6 {7 c  I$ T' a) ?5 z7 F

3 Q+ ~  U& g& Q( W; T
+ g/ M9 ?4 q' b+ ?7 \/ T' L5 ^( h* ~& N" o
组合使用方法如下:
1 V3 Q  h% j0 j4 U  h0 r+ v6 Y. y% A/ h- a
db.user.find({"age":{"$gte":18,"$lte":25}})
* }$ D# w! [% [* N$ ]6 ?' U! T5 g6 K/ d9 X
9 T. G$ m# Z) e* w$ V, B. [
+ P6 w# S0 M, R% l9 w' n
对于日期的条件查询方法:
& Z: t% L  F! \. ~5 c* Y* a" T: E5 g0 h+ T: [0 o
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})# {& T5 b0 W1 {
9 D5 K7 [9 E$ X5 l1 l
+ a2 J' m0 R3 Q+ e6 E* t

9 ~1 V- E3 @# B. h2 k1 i( D2) 不等于 $ne. T* l& n, Y! @; f9 e+ @
* s, `7 \! l+ @: p5 U! S
例子:
% E5 n5 M' l5 D( O' X4 |) g4 K2 g" v$ C3 u/ i
db.taobao.find( { age: { $ne : 10} } );
  I4 Y8 |: v% q+ D2 b% tphp7 查询mongodb方法大全
$ @) X) }* D: b/ d' t" l' ~
游客,如果您要查看本帖隐藏内容请回复

, o" `& K1 p7 h9 Y) Q7 D% p7 p" |7 M6 N) L7 b; s- j6 s
8 Z6 E' r+ @7 f7 J' E- b

, I# c2 F, y6 g& _" W' l
7 N2 M+ Z9 z/ j' A; X& b& g  @; W6 o- o: B& H0 `1 `

  Y/ @- _% [7 S4 s6 j/ X' `' O
7 {. K$ Y) U3 Y9 P; ^) j( u+ Y1 Z
3 `( |2 N5 X' D4 C7 g0 U6 A4 _
1 g' V- u* m: g- ^- H3 e& C& V3 \0 A* C9 d

+ V: Z" @3 g9 r8 B' p: H6 c( W
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
- h% d7 M3 s& a& h3 }# ~! E5 X4 X
  1. //and% X' x; I/ }9 N; {) o8 G" l( y5 W" F
  2. {key1:value1, key2:value2}6 W1 e8 o3 l+ }' }
  3. [key1=>value1, key2=>value2]8 l7 b$ s- P% @
  4. //or
复制代码
$ D! Y$ V- C# t
+ b9 m' j4 [- Z# d
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-1-30 19:02 , Processed in 0.056758 second(s), 18 queries .

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