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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:: M( v9 ?9 ~0 j
$ ]0 d' u: B! k$ y/ ^# ]. K3 T8 ]
db.getCollection('student').find({'age':{'$gt':'20'}})0 F) G3 C& c0 o' |4 n$ z
% M/ ?8 q" }: W) X/ L. A7 w0 z- r. [

8 C: k" x6 p4 j
4 i( n" {) g+ h6 a: r& Y, F& O$lt    <   (less  than )
. Y% E/ z' U) e, y6 r
+ U" e( F. z  }; G0 F$lte    <=  (less than  or equal to )! L) e+ F( C- e3 `6 y. J
) N$ Q3 P6 ^; v* O* w  s
$gt   >    (greater  than )
8 T3 ~* X* U  f& \) m
) c4 ]- j3 E4 f1 u" b8 l/ b$gte   >=    (greater  than or   equal to)" \& a6 ?% A. w* z1 e  j) \
# V2 p$ y2 M) _0 E; t# b
游客,如果您要查看本帖隐藏内容请回复
/ X* J" Q" d. q* R* g

# W1 p( F  `9 P( N8 r  }$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
4 u  o) {3 ~4 E0 |1 Q7 W& k: e9 x- r* n
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list' ~; b& y5 r3 _" j5 ?
) [2 g4 @* U1 h; o7 `
$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
5 t3 F! f4 m. ?. O" q& s
; I( q/ I# I3 G& R4 O% _7 m  W' U2 B$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字  K2 G" H% z: d+ t
$ i$ {- j* ~! e. b
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在+ T  X1 N% P, X9 ?. V- C% ^
+ p8 \5 O2 c4 Y- n
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
9 `6 v3 Y! Z, m% o7 Y4 Q+ d, P) i2 q, q# V
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
, y4 z1 k6 _9 R- c1 t2 N
& v# k4 m2 a4 _8 \# s4 ^$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})" e% v+ Q! d, c5 m* V* |; x
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);$ G( K: Q+ M2 Y
/ o# L+ ?2 x/ c  P8 Y
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
9 X8 A2 [1 ~2 I# d) V9 W2 C- O7 V
! h' ?$ ~+ @- C( `$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]& L( K( ]0 T- S

7 P  Z* S/ L5 A  G$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],0 M  M/ O3 v0 _. x1 O4 g% k
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 ) P8 c9 t- O2 T' ~
3 _- a0 ?3 J/ a

5 i0 Z6 M, w1 i1 Q, l& O. \6 H
. y4 M, I. I4 d! C9 ~0 Z/ K
, k6 z% R( i4 G( c7 O; u& m, ^2 v

. |) E% q3 `1 ]; {- i7 H1 Q. K

  z! s$ b. @. u% L' ]+ Z/ H& Q9 ]/ F1 w. q) E+ O$ j

# N3 A3 A2 M+ Z9 R( Z组合使用方法如下:& t: u2 R2 k3 r7 ~( F
( N* c8 D$ m) k. O
db.user.find({"age":{"$gte":18,"$lte":25}})% ], {9 n& X4 T- ?' N

* P8 }% j6 u% p7 h  s
( ]- G/ V3 O5 T& m0 V  b
7 {9 B% I" a0 ~: B" d+ I( G对于日期的条件查询方法:
7 L1 M5 f: ^; [- X! W
4 l$ B: |# Q  L6 ]& Rdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})+ G, h1 c; Q- d. z, @; o' \1 X* u
& @/ h. |; D3 z, B' P
( U+ b4 [4 `3 c9 _
2 _2 T- V( J" ?/ S
2) 不等于 $ne+ m4 N: ^; p9 P; A7 p

0 |3 B0 w+ X% U; t例子:
- n% K! [$ L+ q  q4 H1 m
. \0 ~# |% @! fdb.taobao.find( { age: { $ne : 10} } );" q& m: C5 G4 h( d0 A: p! y
php7 查询mongodb方法大全
0 |% @: _0 x. _1 x5 b$ M5 ^) z$ M8 T
游客,如果您要查看本帖隐藏内容请回复

( e& e) r9 y9 W; n1 H
' z; D; [, L' T# b# S& k' [% F
  K% s3 ^2 Z/ M. M; Y! P8 d
8 k9 _# L+ x2 R  V% Z0 I1 ~9 {
6 |5 t& M. f5 O( u! T+ C& q& [" x( S+ n( c" b% G

5 D- B+ f8 A& c8 H  G; e
, x9 W* d( L6 |! {. K# M$ P7 S1 ?. f  [! N( i# z

. W# C# \  W3 n9 r5 u6 y  r1 ^  Z/ x/ V1 O

' k' t7 `7 i- ^( T; z* t, z9 N
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
: |$ i# @/ T. p$ k: _8 Q
  1. //and
    ) r- ?2 J/ [6 S  D7 E1 _* K
  2. {key1:value1, key2:value2}3 [0 T7 s. }' t3 `
  3. [key1=>value1, key2=>value2]
    ! c* o, x1 p4 K7 B
  4. //or
复制代码

0 @& S+ x, {# y8 H, F# o* ]9 \
! D) K- P" G" p1 z+ @# Q
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-12-23 02:53 , Processed in 0.113397 second(s), 18 queries .

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