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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:3 I  q, z( t2 O2 n) P
$ I7 y4 W( o3 p, J0 j( T' H2 }
db.getCollection('student').find({'age':{'$gt':'20'}})
9 S7 N$ L; S  J
" Z" w2 E. J  V9 e: Y1 i4 P+ a- ~" E5 o7 T* ~

, _8 H# j# \" l% U7 V7 M$lt    <   (less  than )) C6 q9 t# D: d* g: j2 |' h

; Y1 ^+ l  _3 T, y* S$lte    <=  (less than  or equal to )
+ p( }  X) X" r
! f$ [3 s7 j* q* j) G$gt   >    (greater  than )
: u* b6 e/ q( Q( f3 _, w7 ]9 g
- ]5 Z" T5 c" ^- k$gte   >=    (greater  than or   equal to)
4 Y& U4 h8 J' L' G+ }, G9 g" D# X" W; I
游客,如果您要查看本帖隐藏内容请回复

  [# ~7 P/ T' ?$ [% I. `
+ Q3 E( {' V) s4 Z$ ^  U" K, i6 f+ Q$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
2 e( B% a$ n5 {7 N& W* D- g( O* h1 K3 r
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list. Z7 T$ B' u% @& i

. d; c2 F; s2 X# x, `& w' f; j& @$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list
* v! \% D+ M; W( J* q/ a& `3 Y% D$ K2 ^4 z  I
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字
8 L& {2 Q4 q0 V) h) A) r+ w" Q/ L* q8 d
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在
6 z4 Z7 a0 M7 a
0 z8 B: B0 x/ s9 p7 i$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int( `2 {6 z" f6 g6 v6 r
$ D; _% G5 d1 E9 j
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串% R6 _  x  |* ]6 w2 S9 N& ]6 p: ^
, d3 T% w" K8 S  @+ _
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})5 D* F. `- [$ l/ `) T
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);+ V3 R2 d, W# t( r1 B

  Z+ r/ J' m: E1 Q/ ~5 X$exists 键是否存在   {finaGoalLine:{'$exists':true}}' E6 q: e1 B. M! S# F
8 H& Q. m9 x& j/ E2 S& D8 L/ o
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
6 ^$ X% s1 B' q" @0 e! E- L8 R  D7 U8 T# @0 Q' n
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],
8 e: c2 J0 {( s0 Z$ e0 A# p$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3
' g5 G( K- d/ S3 [& B
  O1 E* S8 y+ P
; c' x8 `6 P! @, x; w; A

& r& R, @! f' w( C* _4 Z
5 P: F( t/ y0 f, }6 s

6 N9 X3 x) z7 h: K6 {

& [! I  E. o0 C; @: [: i" n, c. ~

0 e. P9 k  f$ S" S. p2 P! ^组合使用方法如下:
2 j9 f/ w( Z+ Z: @' i$ y: u$ P
- ~" ]" k1 l  [( ]db.user.find({"age":{"$gte":18,"$lte":25}})6 d( @. m. M# G% n: g' U7 ~
+ \. w: ^& o4 ^! x% ^0 \

, h, f, R9 N; x2 n; c( w5 b) |% n& o( ]' f, x6 S
对于日期的条件查询方法:/ q  _4 `+ ~& Q+ G9 k( h$ b% u. e

7 S( C- C- z8 B2 L# \: Qdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})
9 l( @9 |- y$ T5 x! h) e- A7 N
; W- j$ ^! v' `% f: W9 c8 R- K: K# j+ ?
$ X3 e4 d& S+ Y
2) 不等于 $ne* C9 K) f" b% U  i

0 B) ?# U0 d0 S8 d3 b/ f  [例子:
$ a# h4 `' c( O! v1 m% |' |, ?# B2 P, X
db.taobao.find( { age: { $ne : 10} } );
9 r* R- K9 ^. i: @8 Mphp7 查询mongodb方法大全
7 Y$ _0 P1 a* p. F  y
游客,如果您要查看本帖隐藏内容请回复

1 B" @% V7 N  N4 P' J4 D  v! w3 b3 K% J# g
) {* H  `3 [9 b3 ]3 f

( H1 {5 i" P% y7 i6 J
* D* k8 ~* r4 m
% [4 e! }' ]! L/ A9 l8 a5 j" y& H" v/ A+ |. Y! U

( N: t! b0 O' {! Z1 W+ Z0 F9 X. T! G  f
- A" z2 S' @3 B* a

4 m! {, ?' _* L8 j! a  Q1 ?6 c; P5 Z3 ~+ D
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or9 W' A: X; L9 z3 ^
  1. //and; Q; u5 D: v8 |: |- Q
  2. {key1:value1, key2:value2}) D- H* W( W7 c, z& R
  3. [key1=>value1, key2=>value2]6 u+ w: ]% y5 H# ?3 v- s/ i
  4. //or
复制代码

8 d& Y5 ~+ D1 {; X4 B! \7 c* B
. A# b2 k; B" u' D* ?
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2024-5-3 05:17 , Processed in 0.126117 second(s), 18 queries .

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