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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
9 I3 {! [2 w  O6 Z: J& b1 c; t, t; Q5 F/ V/ w7 d" m
db.getCollection('student').find({'age':{'$gt':'20'}})* l4 {5 Z; b9 u: G# Z
% T* V; u) K% S

3 {8 M9 j2 M$ ]0 h1 t. H
& b3 E6 C/ F% K$ \4 o( \8 |$lt    <   (less  than )
8 w8 D3 }$ S* _; D0 O# |# I  p% T6 R0 r
$lte    <=  (less than  or equal to )
: h. P' c" \/ a: p- d- {
4 o* F$ q% z: t+ q6 e9 N6 ^: x$gt   >    (greater  than )* I8 H9 L! b9 d0 ?$ C% j
/ R$ S; B0 }( l$ Q: m3 s
$gte   >=    (greater  than or   equal to)
% {* Q1 ^$ F/ N: t3 z
& H1 n. o1 [; i: [1 w3 o+ l) Y
游客,如果您要查看本帖隐藏内容请回复

% B+ O* `# C. Z& g6 u' g0 g: Y
+ S; K& l7 f6 G/ t$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
8 e5 L! _! v: O1 i+ z7 w1 c0 y" M: p5 g3 S
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list) q3 P$ s6 x. [2 e. q. V7 ]

1 J) r2 O3 y, u$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list# |; F$ ~4 k7 C

' H6 i! P7 e+ B$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字6 c1 Q  P! A9 i: T
, k9 C2 V4 A% H2 T9 ]) b
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
9 |% [0 e7 F9 w8 o
0 w3 p: v1 B/ P! D$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
2 x/ D0 f' d! \, u1 {  n. K! T  x* h0 k! Z9 ?2 Y# E' b8 A& }
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
  Z4 P6 \2 o/ I' X2 i8 N" B( B$ y, l4 c3 d8 g$ y. m: j
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]}); Q( ?! x5 Y+ C3 i3 E7 V
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
5 B8 j0 `0 t% I: ^+ U% P. b3 O6 d8 q) e! \. u7 ^6 r, K
$exists 键是否存在   {finaGoalLine:{'$exists':true}}
) @. ~# ?3 W' T8 n
( L/ v( y, o' B" L+ [7 ?$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]1 {/ q/ I/ q7 i' t" _4 r

1 q5 y3 b7 `+ X$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],. H. I; O3 Y4 e( {- b, u
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 0 c& t1 V5 O. G4 M5 r0 D
9 ~* M; k" r4 k9 J( ~: u8 X) Y* N

" b  S" @/ z* S3 u9 u. F% d' U0 h7 Z5 e- M
, M" n: T7 z3 `0 D! i
0 _& m& t/ o8 e2 X1 [

! u0 A$ V- Q" s, D0 F
# B% f( \6 W4 a. r; f. x; a% C
7 O) j2 v6 R9 |, _# B" B组合使用方法如下:
0 l7 }, V. F5 L3 j- O+ N$ G6 b% u2 E8 ?  `
db.user.find({"age":{"$gte":18,"$lte":25}})' `- H1 [/ [8 ^& r) {$ ?* o

& p8 }5 b2 s- J1 n! b4 J, ?
$ [( E3 ]! z8 b5 Q/ L! J/ v+ d( F; H1 Q7 \- w3 N! Z6 E
对于日期的条件查询方法:4 \- o+ O1 i# {* G+ u" z% {1 Y

, @7 O& E1 w/ H* T# c: {6 {, wdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})$ ~8 r9 \( I3 S: W9 D# F

# S' M+ t" q  r
! l6 U0 E9 y* W* }+ n
' `8 M7 b9 ?. C: ~6 z/ x- F+ G2) 不等于 $ne  ~1 [* m& H& X4 }

4 y3 {6 S0 Q- {* u例子:4 F' n/ i7 p0 x, `

, w! r7 w  Z$ h5 n5 P# pdb.taobao.find( { age: { $ne : 10} } );2 D. }2 e: y" n4 ~
php7 查询mongodb方法大全5 ?% X6 t: v) n% a; S& O! }6 y
游客,如果您要查看本帖隐藏内容请回复

+ z9 N: W2 o( \9 S
& Q7 m: }5 @  g$ c: @
' m/ D4 ?4 Q1 ?$ y
, d/ J# H$ ~; k( w" N& g0 h. Y/ @  c; r" m0 `: _- {: f) ]
$ s) v$ \$ |% l- A4 ^  n' @

1 a6 C4 S( u4 g8 O$ d; T
) w0 B9 m# |2 ?2 A. H* w) {1 B# m
$ m1 T5 K4 T3 ?2 i7 M( I
% p; U% y. Y8 a5 G( z

) {/ i+ u0 c  v* j9 H
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
3 @& D8 P0 _; ^, I! U
  1. //and+ o! E/ m9 {: ?0 L. F" L+ g
  2. {key1:value1, key2:value2}" k. @) t$ v/ `0 l& E+ e) d& T
  3. [key1=>value1, key2=>value2]
    1 ], B* e& f9 U  _- C$ a7 F
  4. //or
复制代码

' r8 B' u1 G/ a, B* N7 E" J8 R
& l. U# E6 n7 D) F9 N, e9 N
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-12-22 15:28 , Processed in 0.127702 second(s), 21 queries .

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