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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
( K* o% W# x" W! L6 E
- a1 i- n# n2 f# Mdb.getCollection('student').find({'age':{'$gt':'20'}})
- v0 B6 ]6 Y; Z4 B
1 @+ H5 e$ r1 w. D6 R2 h# a9 \; f9 @0 J8 e

+ c* j8 `; ?/ y' G$lt    <   (less  than )/ c5 \6 G8 {  e  l/ P- v: D

* O  E0 \' k3 A+ w# y8 U6 c: G, Y$lte    <=  (less than  or equal to )) N' w4 X8 q% ~' X5 m5 h
6 U. |* |! l- v; l3 C0 A6 r, o
$gt   >    (greater  than )
2 W, W+ \: {$ r7 G9 H! c0 t5 B2 c2 M; X/ H9 W  \% G6 u
$gte   >=    (greater  than or   equal to)
5 k# |2 [: r) K4 C
2 f5 T4 {+ P' w2 ]0 M
游客,如果您要查看本帖隐藏内容请回复

- y7 @8 J* s4 R' I) j* P& J$ b7 x* B" K' b) g* j5 j, v# q- |
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}- A* E3 C% W7 i9 r
9 U+ i4 O% }, D: R0 q
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list
$ N6 C1 \; e1 W# P3 t0 W3 k
& V6 T6 G5 n( F) I: `# Q$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
. B$ J" j7 Y! l9 Y6 V: r8 c0 q3 }, C) x# S9 }; P9 h" T
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
; J0 e5 B* G+ c# a6 k; E2 p$ U) N- B1 S
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在: A' _* c# g* P8 X7 |

5 a2 o% A/ z# z/ T7 t" o8 `$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int$ [0 n- ~- P+ Y0 g% T& i( o
) |$ V, g2 X) s2 W( L- G! N
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串/ b1 s0 z/ z7 @7 o) t4 i& Y) t
% k1 _# s( \) x- c- T  p6 E+ G7 w
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
% Q+ E, R) E- A, Z; Y$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
9 s8 [, D0 Y+ [3 X4 K9 S+ J7 p8 z3 s' t# E  g' G
$exists 键是否存在   {finaGoalLine:{'$exists':true}}* \6 R, M+ A. F, s$ I' _
% |* M  C+ }" t/ `* J, d
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
% w! K+ ^. _- r- O5 y2 F) v# O5 N6 S
" H# r! g% _* r7 v# p! c& D/ f$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
! w6 @3 J9 U' `8 X8 P$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
: Z3 x6 _4 P  w8 l: Z. \, g) u8 ?3 p3 v2 h! X
/ F9 Q8 N7 g) H; t; g. [
* ~$ [. e, ^2 k6 {+ ~/ p( @

+ F, k* {: S* e0 n% f+ n& [/ j0 U! P- [
8 C' V9 W6 E) X

1 x2 F' c5 N/ }1 |& J) W8 `, Y
/ c. b9 R( y+ c组合使用方法如下:4 _- V+ I9 z0 p5 x, j3 z
" _, K& I- a1 Y0 m6 |* o
db.user.find({"age":{"$gte":18,"$lte":25}})6 z2 o1 q, ?  @/ c

3 u, O1 l& V, l+ y! S3 r1 X$ h% b4 x
5 `) q$ F- A0 V0 M$ T8 a- Y& F3 v$ l) v/ F! D# x  ]- F
对于日期的条件查询方法:
6 b  s$ ]! `* L
9 J6 p* N  m- qdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})$ k% w" `4 r5 g0 R! K$ B8 I7 H8 A& R
$ e; j( c" X, u8 F6 m
2 b( f3 T, w" A+ Z9 _& C9 X5 b& C
4 M: p9 X: \( m% _' N9 a
2) 不等于 $ne
; q& G, R5 P! Q( p, m# K2 w: F+ M% N
例子:  w2 d! Z5 n" K2 Y! `

9 T" h" F; e& e! @8 l/ ]- M7 Mdb.taobao.find( { age: { $ne : 10} } );7 U% l9 F) `% F! b3 F/ e) |: h: w
php7 查询mongodb方法大全1 b' l& N3 B. R. H! [/ e# n9 h
游客,如果您要查看本帖隐藏内容请回复

! g/ R6 p" S6 Y1 {2 R+ h( ^' B/ D5 J' x. J1 b3 @$ O% h6 t& |
( I; Z0 W  j/ s/ m9 [1 I

: d0 V" o  j* e: W8 ]
- ?# U' K2 r1 X/ t& n
2 u& x& a9 ~) C) [& ]
+ h) Y: {: h% [$ g! q3 f6 b) C. d; o, H" T) ]% [9 F6 r

$ t- M% j( h  K) x3 m# q+ A- ?, h! @, A
' i5 X9 U- P) Y2 L  z
7 k( ]5 r7 f/ \( F0 }  g0 E
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or; F: u& Z; M: H. O. ?8 r* Q, @; v$ F
  1. //and
    2 t4 F6 Y% z+ a* _. O
  2. {key1:value1, key2:value2}
    . b$ p4 n  {8 ~0 t' C* L* q5 r/ r
  3. [key1=>value1, key2=>value2]6 H/ i: _$ d1 X! J2 K& d; ]8 z
  4. //or
复制代码
2 [# \9 K9 N/ K8 c3 N

4 M( i( n) w* J1 C/ K% _
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-8-4 10:48 , Processed in 0.053041 second(s), 18 queries .

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