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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2019-5-10 15:00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查询表中学生年级大于20,如下:
1 W4 @5 [: v& y) U% S! ~! R  O6 O# E  V" B* K: z
db.getCollection('student').find({'age':{'$gt':'20'}})" `2 Y( R1 ?% P- ~

# [$ K. n0 u- h6 p+ L+ F% x1 Y6 Q5 M, n6 x5 q- X3 r% [
& o, {* a$ Q9 e) I
$lt    <   (less  than )
' d. Z1 N& X% _) n( l- h1 p- r* Z3 i
$lte    <=  (less than  or equal to )3 s# a+ I1 a1 }) b# d

) F9 A$ F8 i$ r  h' H) o$gt   >    (greater  than )
5 \. C, l  I/ ^3 r) _. R3 }: ]
8 |( D5 H% t1 T9 A. m4 h$gte   >=    (greater  than or   equal to)! x1 o5 H  o: [9 z, v

4 x$ m+ k' f  E: H# h+ `
游客,如果您要查看本帖隐藏内容请回复

) }. T+ B' n) v
- z5 |7 P% N$ T# m7 _; A; @$ne  != (not equal to)不等于  {'age': {'$ne': 20}}
! J, e( ^) r8 Q7 u" [3 P. t+ Z4 [, f' }! k- Y
$in  在范围内  {'age': {'$in': [20, 23]}}   注意用list% O8 b% A- J# K& |4 D

0 r6 p& ?4 ?9 G" ^$nin  (not in)  不在范围内{'age': {'$nin': [20, 23]}} 注意用list' B) s+ J; Z) Y  y7 w
* n) T9 m6 q  Z+ l
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}})  匹配以M开头的名字* H/ [. D$ f/ j- _! ?: |# f5 p
) K5 k. c8 {& Z' Y
$exists      属性是否存在       {'name': {'$exists': True}}     查找name属性存在3 U$ O% ?9 h& `& @1 x5 u
" ^# ?) j! O. p6 e3 k
$type     类型判断        {'age': {'$type': 'int'}}       age的类型为int4 R: n& Y0 C. _+ a7 ~  f# q
8 v& A' {9 [' y: R, z6 k
$text      文本查询      {'$text': {'$search': 'Mike'}}     text类型的属性中包含Mike字符串
  g9 W9 M$ Q2 h% D/ u, X) C* x3 U" |
$or  查找多种条件   ({'$or':[{'name':'chen'},{'name':'wang'}]})
3 E. E, G- m7 h2 p" f$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);# ~- a4 o% F) b

, p: e9 \3 a4 R+ j4 P& K& @4 R' c$exists 键是否存在   {finaGoalLine:{'$exists':true}}
3 U1 K$ Z6 T6 t3 @( N) H6 r  h1 G5 J8 v( i- e! [! d% s) s) X
$all  如果您希望找到一个包含这两个元素的数组     [ 'tags' => [ '$all' => [ 'red' 'blank' ]]]
. e0 ^! t* G% }# O0 j/ z' {  b! m! E9 i! [- O) i6 z
$elemMatch   运算符在数组的元素上指定多个条件    'dim_cm'  => ['$elemMatch'  =>  [ '$gt'  =>  22,'$lt'  =>  30,],],! |2 a! V& g: u! z% K
$size 运算符按元素数查询数组   [ 'tags' => [ '$size' => 3 . m: G* A. K! x/ N$ e

$ a0 G" G' h5 Y9 H! q

0 H! I) g$ S, A" g  C8 b/ z
9 _. V8 g0 M; p- P8 T0 z3 V

) s6 p* @. J: \) x0 N- q! g, F
6 U7 w: C3 ?3 C7 ~4 }
5 }* N$ s3 a1 q7 U5 `

0 z% f9 `# Y3 h! j# ]* ?
$ u$ _4 O  H) {4 W# W组合使用方法如下:6 I1 N$ }3 {) x( m% a
* u( G$ y6 M9 j8 u2 L
db.user.find({"age":{"$gte":18,"$lte":25}})
. w* h/ A/ T1 U* `- A) [
9 Y; j! u, B) W" K- _9 Q0 l) F: W3 n$ f
: H( @  I. \5 i! P8 G4 A: j
对于日期的条件查询方法:9 a# f7 f4 ], l# r# R/ d" t  ~3 h

) ~9 v* [6 T: ]4 D4 Cdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11  11:0:0'}})3 r6 j5 S, g/ Z3 g$ g" q
) s4 X6 l1 [5 Y6 a# y4 ^0 S8 n

& F5 o- s7 n& s: s$ J! l2 Z7 S& d; w- j1 a: W
2) 不等于 $ne. W& E' b6 ?' g! V5 k3 A# |; K1 Z
5 N' c2 `. e0 c! o
例子:5 @7 G9 r/ J8 y6 C1 B$ h8 f1 g

% W! D! W8 |. ~; tdb.taobao.find( { age: { $ne : 10} } );
1 f: J  ]. j5 Bphp7 查询mongodb方法大全
6 j$ O$ O- R9 _2 ?$ Q0 P+ W, X5 A: M
游客,如果您要查看本帖隐藏内容请回复
( r/ i0 G9 K9 i, o4 B! `
) {2 s6 ?' k, a5 o4 v3 i
) b0 n5 @) R# u- V# A
- R# ]  u5 q4 d: c3 s1 g" m
. T4 u) Z- d" w+ B' a
: r- _  v4 W" T+ t3 u
( p! G) Z2 p/ ]
8 M' J" s9 Q$ b" k5 u& x

; |) C. [) K# g! C- D
$ x* r1 _4 @0 L- |; R$ F) y
7 |! Z8 t- T2 }9 M" p4 E8 c/ h+ V  s9 n+ [/ \
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
沙发
 楼主| 发表于 2019-5-15 11:52:22 | 只看该作者
查询中的 and or
/ p8 |2 o: g/ T: L$ e/ h5 p, T; I$ d
  1. //and
    + w8 }4 E5 a0 n% Q" D( @; H
  2. {key1:value1, key2:value2}
    , M" O+ K" u: ^8 E
  3. [key1=>value1, key2=>value2]
    0 G' H+ N: |: T4 V' A
  4. //or
复制代码

: J- t/ q, m- m& {8 r; J; ~- G4 P+ m
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

GMT+8, 2026-6-19 22:44 , Processed in 0.053724 second(s), 19 queries .

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