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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
; y) ]) z- b$ I
& u4 }+ w1 s9 f2 ^( Y" E: idb.getCollection('student').find({'age':{'$gt':'20'}}): ?6 [; E+ I' g
$ d) n! `! ?5 |+ t: V! O

) |+ O7 X# ^" n7 b( ^0 m2 P8 E" o4 t& B, b# ?% A
$lt    <   (less  than )
9 w0 c- R* y$ w3 I7 ]: a9 p
) n9 K+ |) t+ e3 C- k7 w5 C2 D$lte    <=  (less than  or equal to )7 f+ W2 A; L- J# k, X

+ X5 _$ R+ H- ?, a! x0 M: i: [* D$gt   >    (greater  than )
% N7 g! ?. t8 p/ P
2 i& a' }, l: A* y1 e$gte   >=    (greater  than or   equal to): F7 M' z5 n  N( l5 k
  L* |9 H2 ]( ?% E8 ]9 q" a# o9 N
游客,如果您要查看本帖隐藏内容请回复
3 y/ J& ?' X7 F6 b7 y- @' L/ m

- [& t; Q: _4 U+ \' X9 x' e$ b$ne  != (not equal to)不等于  {'age': {'$ne': 20}}. v* z) |  G% V! q+ Q7 v
$ j. O  b& |' R- [9 Q1 h; v% T
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
! e. L8 k) n/ @9 B) ]9 [
7 L/ i4 c8 X7 R0 B$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
$ \7 d: k+ F" ^% H& e+ B1 v4 U8 e! Y1 _/ Y
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字0 V" n. k+ b7 v1 T, t

6 x  D# L# c4 A4 _' a: @3 w& d$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在- f6 r  b# n' m1 ^9 I

+ T6 h) S, P4 V1 w# x$ k- _' }$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
* ]. |  D3 i7 |
. K# z* M; c% i7 F$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
. o! C, b; W- E1 F: u6 r: H& h% m6 R! x
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
$ `* Q2 _7 W4 h: K, B! M$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" Z' Y; T, l4 O& o0 \' D
9 c/ D0 m% H1 L/ {0 E5 I" H  b: n$exists 键是否存在   {finaGoalLine:{'$exists':true}}
1 `5 s0 L+ ^- u' y* b
1 n9 V! {/ N. r9 l$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
: Q, m" E1 x& M; d- X: H. y7 b' O# u2 j: b, ?5 N3 I
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
$ \' e1 [( s% y+ ~* B4 E# q$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 " K. [% d' L2 u- r% b& d

2 m9 k8 X7 K7 t

- T& h8 p- L6 I+ S( t7 r
/ O* t# u% ^3 S; c$ k! v

* S# Q, `$ T7 _' n# R  U; t
, s& M- M2 ^! g# g" D% _3 ~/ F

0 A" I) k5 h+ x
  T9 e7 \) ^# k
8 g- T' W! S/ k- M$ V1 h/ P  G组合使用方法如下:0 F2 T; \* D8 t4 A
4 {# ^+ D2 u. U6 A' G+ B
db.user.find({"age":{"$gte":18,"$lte":25}})
! q( ^+ \2 c, q- |$ I
  t, ]5 e  g) P! ~: W& C* ~8 y4 N$ p6 \) @) X

3 `4 S% g8 [: l( n) c/ v8 N对于日期的条件查询方法:* ?" p! p# o# h$ d( i9 f: c
2 V; a3 K) H' _- g# C0 K
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})8 e* W& J- ?3 l8 z

" r0 [' W4 X; y. X. r- N; U+ Q! l1 G, Q* g$ J/ `
! `' a3 R  \# h3 Q" t
2) 不等于 $ne& h; [$ R& J1 \- s' k+ P$ o

; D- D/ s; e) t  m- [例子:/ S( i2 e! E# y2 m( E
6 s7 Q9 M$ [, |! W) @
db.taobao.find( { age: { $ne : 10} } );$ E' V" O. Z; z: }$ }7 {" _" `
php7 查询mongodb方法大全  n+ O1 K' d7 Q4 S
游客,如果您要查看本帖隐藏内容请回复
0 G) l! ?, H. @. S9 @2 o* K

0 ^/ O' s+ a; ^0 G( T8 O
' w# `* p$ O# u, _# P/ D! M% @
  |/ Y+ |2 l1 i/ F7 J& z$ Q, D9 ?/ W. n( [8 V. r
! T) D% ~* _/ d& I/ z# Y

+ A; D7 ?4 J* ]  c2 O  f
2 ], L! r- o( L/ s1 t0 v# L
  |8 l' ~( ?5 N5 H; w: e- J% a2 D, _  w

' f+ C- `3 y$ A5 Z; ]4 D( V, c0 ~* ]. _1 l  C- Y, _4 T
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or7 D, \. v7 c: U* Z7 n
  1. //and
    , k% q- @+ {5 i7 R+ K! q
  2. {key1:value1, key2:value2}
    $ t8 @3 @9 \' |  b
  3. [key1=>value1, key2=>value2]- E, X# ?# T7 \6 ~, h4 d
  4. //or
复制代码

! _9 G% w4 e2 [: [
( B( n& W" B0 M8 H4 h# r
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-9-21 03:13 , Processed in 0.060166 second(s), 19 queries .

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