cncml手绘网
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
[打印本页]
作者:
admin
时间:
2019-5-10 15:00
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:
1 Z. V" u7 n+ P% I/ l3 ?5 b
/ i( E7 g" _" ^
db.getCollection('student').find({'age':{'$gt':'20'}})
( B, u6 H J4 p" y: l
) E* ~. ?/ H& c
) s) w% W! U4 r8 x
2 D2 \5 t4 F5 x4 f
$lt < (less than )
" z8 {! X5 v9 r( i' @! }
2 W( i0 R! d. k4 B; P: ` f; Z6 q
$lte <= (less than or equal to )
+ N/ @! H8 r, O+ K0 n- V
' V) t, `- v+ Q8 l( T+ h+ {1 w
$gt > (greater than )
3 f2 J& I& Y2 n) v J R9 O
; \0 y, u8 b* V! o- ~9 Y. o
$gte >= (greater than or equal to)
/ ` k8 w' ?) x. m* W
; J) l4 p! `3 V
; G6 s4 R; w/ `/ O0 l: d
2 R4 _- Q! D' F5 G( R; o; ^
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
" G! W7 q$ Z0 `% d
- b* o2 X' R. }0 {7 L9 ~
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
; e9 p' @1 ~8 q) b. ?. b& ]6 j
" V2 }2 G, u' u* W2 i) {$ p$ }
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
- ~0 s/ ~/ `6 ?$ e
! a5 b5 L: V9 A- x2 {
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
+ o8 p& i G- J& m- U
7 u: H* }- y- k+ n9 z7 V1 u2 n
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
w6 O( Y5 D) L) `
) U# ^- F# S! @+ l9 G
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
s7 e2 t1 H6 {; O
6 N. o w$ l4 s! @- I+ R9 [4 [& D2 t
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
/ P5 {8 b2 s) y
- A4 C; ]4 T8 j3 B! h; N; w
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
0 d7 ^: e- t5 o$ _. u* }
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
' P9 a9 }/ Y+ U2 K4 N
0 H% t5 z1 x2 I5 p
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
& K9 F% `5 j/ Y- z6 V" a7 U
3 ?: ?6 G8 f5 r! u1 x& }& @
$all
如果您希望找到一个包含这两个元素的数组
[
'tags'
=>
[
'$all'
=>
[
'red'
,
'blank'
]]]
4 {7 [: N# [ I: s4 U4 {
3 c2 A: W' P3 B: T3 L
$elemMatch
运算符在数组的元素上指定多个条件
'dim_cm' => [
'$elemMatch' => [
'$gt' => 22,
'$lt' => 30,
],
],
' z- y& f! Y5 k4 i% Y" t' k* ^
$size
运算符按元素数查询数组
[
'tags'
=>
[
'$size'
=>
3
; \* A, g, K$ z- I" Y8 X& R
9 k1 [$ J2 [' N
( v, _2 L+ d4 _& @3 }2 M0 O4 B
" z( E% K' q7 E& b3 ]2 r: e# q; V
]4 e# @: s4 l: |
( T6 y5 D* b P. f
) I- N' P& _, j! n% ?& S
9 v) B% T) T5 E5 S: T0 B* N9 ]) s$ t5 u
( T2 y9 Y7 ]( s
组合使用方法如下:
4 F/ w8 Y2 p9 W9 o" y3 d
/ t& i* |, P0 j" z0 V5 e
db.user.find({"age":{"$gte":18,"$lte":25}})
' b: m8 ^2 b1 J7 }- _$ h0 Z/ J
" \" w. T, D5 e0 L# k
2 `. A! E) N% X% a
; F- Q1 ^% L% s, V. ]6 l+ Y( y
对于日期的条件查询方法:
: X" D" [2 { h4 W% {
: K% R& m3 e9 A9 Q+ C
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
0 P$ J- r; R, R7 u E- b3 M2 ~/ M
# R& ]/ n% B- e8 W, @. r2 D
4 B1 b1 o6 F' l
( a p: w8 J6 G
2) 不等于 $ne
6 \* T) d1 ]2 {# D, e
0 N) D/ }: E, X% H( e
例子:
0 F; q8 X' ~' Y) t
9 v! h2 \- G3 R8 S
db.taobao.find( { age: { $ne : 10} } );
) Y- e. u# i5 u* c6 T
php7 查询mongodb方法大全
) H0 ]2 z: s6 {
d& h$ H& g- G
+ {) ~/ ]* m& Y) i- Z9 m) d2 k) h
0 Y+ D9 m# Q* N% w7 G9 L9 [
5 u x% s. w; U5 }( _0 @
) e' M! {8 n) B# j$ h7 g+ M
* U6 W: f! L- J0 x9 h8 {0 n
0 i. _: e% J: j
3 [9 r+ e2 y: d9 X; S) P
$ s9 m* V1 ?) a" x/ m
; Y* u3 ` ^+ }% Q+ m+ Q
/ y( o# m0 n# W3 n# V
8 C' M3 z/ f+ ]8 g, z
作者:
admin
时间:
2019-5-15 11:52
查询中的 and or
5 O3 b6 Q5 ~( W( ]
//and
; T" g" }- e0 Z* c
{key1:value1, key2:value2}
; y2 o% |/ ^6 L0 ^
[key1=>value1, key2=>value2]
$ b2 d( ?! S8 u/ H
//or
复制代码
: Z3 Z9 d% `$ x* a u
2 X( [! f2 d+ U
作者:
admin
时间:
2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序 1为升序
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2