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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:6 ]4 B1 S5 D! e6 R2 g6 g2 U
% M6 i% n# }- G3 |7 z
db.getCollection('student').find({'age':{'$gt':'20'}})$ w1 V$ R; {: V) J  n. t

: r8 k8 A; N8 q8 Y! s; n) f
5 \  f; @( ?3 q# j4 ^  k1 _# p) ]' n6 _2 q" Z
$lt    <   (less  than )' s6 w: U1 Y6 U2 A0 r

8 m, K. X$ K% i" S1 B4 T$lte    <=  (less than  or equal to )
( Q$ F# q3 l" C0 y  M+ f5 Q3 R0 {8 A/ W5 {
$gt   >    (greater  than )& Z5 j, ]" `! S3 N, F

6 ]. ]2 m! {6 M1 J9 g$gte   >=    (greater  than or   equal to)4 g. c# i9 h& m

4 h) O, h* I3 Y" k4 y; m/ `, H
游客,如果您要查看本帖隐藏内容请回复

2 J* C5 r; s3 ?8 O. g4 g* ?+ [2 [7 R+ D- @# n, f% A( a( A
$ne  != (not equal to)不等于  {'age': {'$ne': 20}}4 ^/ B0 s6 m# z* c

- S; D7 l) f3 |4 g( Q$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list1 n2 c7 G% N; Q$ R9 l

6 p+ g2 I) y1 _; @  g5 A! [$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
7 c: g$ v- |, X6 Q, ^& O9 d6 E: |% B+ ?$ K+ N
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字2 |/ H! k, M( L" K+ X: U4 T

" Z9 E; ^# i# x$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在6 j* f9 A, r/ B' f, |; U
# j3 Z* p+ X" l- t* S' u) y: m8 u5 p9 F
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int
* Y4 ?# g8 M* A, ^; f$ w
$ q- g9 L) V* |: w# ]$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
. K* Z) l; f: s/ Q$ F; e$ ]5 }2 L" K
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
4 T1 u- ^( z3 S% g$ K2 H' @& F3 g$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
+ B: ^% k4 [0 `4 _8 q8 i0 p
3 k/ R1 r- O7 G$exists 键是否存在   {finaGoalLine:{'$exists':true}}' t0 s0 Z4 e- @9 {+ O/ m
3 ]5 b7 }+ z. g3 D
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
* q+ M1 r6 _, k* O
% _. q  I9 k- I' m! J$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
/ l( X. t2 U+ q9 N- G6 \: B$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
: ^, b: N5 Y+ w; h) d7 a! U
6 Y5 k1 |1 M1 F4 o1 b$ v7 I
: p! Z+ j* J" C/ z( Y! T

) A; W; u3 f7 E% \6 [/ N

; P+ W! s# e' r- y  r
1 I* `7 i, N" P1 o

0 H7 e8 Z" y+ f6 k9 i! Z' ]& \) c6 `
- n! Q) U/ k, X2 g) c+ a9 P" F/ {7 Z2 D' W8 \( B
组合使用方法如下:7 E  o$ p, H  j' h3 i

  x- Q) G( V; ddb.user.find({"age":{"$gte":18,"$lte":25}})& m3 V, K6 V6 k2 |! |8 u

7 O- J7 t7 M2 H  H8 m
! `7 }+ K7 `+ @& P6 W7 ?1 k# V  C* y8 t
对于日期的条件查询方法:/ p/ h2 ~8 {! M0 ~4 H

5 T3 K# ]) v7 Q- ~- c1 k; }6 ^db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
, ~* M  n: u. v: f! K# P9 N$ |& q3 M+ c9 j  `8 e
  A! n7 t. N5 ?# j3 f5 e
4 Z, i0 D$ V+ I5 z! V2 B/ K5 F( n
2) 不等于 $ne# I: y0 i0 v8 C, R8 {
, }$ d9 _1 O5 e
例子:9 f; U9 r: C% \! l, {6 c
* H% U" ]6 m/ A
db.taobao.find( { age: { $ne : 10} } );
* Z, X: t( d8 ~php7 查询mongodb方法大全" b$ u) |( [) g, j
游客,如果您要查看本帖隐藏内容请回复
  N: a# v) x" P0 ?" J

) M7 i4 o% j& y% g# }) \
9 J3 H# @" s9 N1 t) I0 I9 r% [3 _: D% _" n3 m; M4 x1 d' i3 l$ n& K

+ z/ S* a7 S9 D9 p7 [* s6 y
* d' ^1 ]$ K6 ?  M; B4 i5 ?* J! C1 c4 Z4 x( j. F5 B" p5 s
1 A7 r/ `+ f- L- H* P

# Y. e9 x2 {: y# A2 y. D/ M& M6 w
4 F6 a0 p$ G8 {7 b; Z: }1 K8 @/ ~8 Z; m" N# w& ?
. P3 S# `5 v' a1 j6 k7 K
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
, t9 M4 t4 g2 w5 n- g) @9 F
  1. //and
    4 q7 y2 f/ Y# k& R
  2. {key1:value1, key2:value2}
    & Z* I  q% v0 Q6 d+ f6 A8 `
  3. [key1=>value1, key2=>value2]1 t5 [6 L( u) ~
  4. //or
复制代码
8 q* m' r, u8 z, m. D: g. \# f: Q2 B

5 ~8 `$ ~; n6 e) ^
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-4-30 19:55 , Processed in 0.095400 second(s), 18 queries .

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