cncml手绘网
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
[打印本页]
作者:
admin
时间:
2019-5-10 15:00
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:
$ K0 j) z9 e- o5 L/ ?+ `! e$ k8 m: L
, v7 @. x7 n2 Z5 G5 _! E% x, q
db.getCollection('student').find({'age':{'$gt':'20'}})
: X8 k, v. R2 Q. i# Y8 t3 x
1 k0 J% |( K2 k% m0 v' {8 Y! i
3 E$ N6 w3 y& a" N
' F) i% x0 u4 {: [
$lt < (less than )
" P/ ?: t) ]# R# q* ?( Z* G V
( c! \9 b3 ]) }* U8 M$ I m4 e
$lte <= (less than or equal to )
0 f! S' v( i g
3 l1 ~6 F4 C4 N+ R2 I/ b. a
$gt > (greater than )
8 j! p0 c8 e2 n" I+ }
4 _# _, i* X0 O! {1 @% T
$gte >= (greater than or equal to)
, v( E+ O* H a. }. o
- J5 I4 X6 T! v8 d% ` U, ]
8 Q7 t2 l7 A R' e
* }; g# a+ w0 A9 X+ ?( j4 H' d
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
+ v* o& g2 @- Q6 p) ?9 Q
% [4 d1 }( m' N! f2 u; r5 A* J( \$ V
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
7 ~ q0 S" w5 s4 X
$ `3 r" n5 e% k* y: {
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
" P6 M, q d: }( y( h5 X
1 g) T' T" f8 M3 M2 R7 ^. u9 J) n
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
7 A8 m! N9 i! g, ^9 d; x o3 e
$ Y9 s. E. c9 U: B" w1 E5 M7 X
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
+ d: t7 [% G+ l
1 l$ A* W, S% C& T& |
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
4 t% i) C6 ]" O6 P2 |" ~
7 o/ x8 v. \7 p; \- t
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
; C3 s9 c- O& \: Q3 q
9 w h1 j' x! b1 _, c
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
: F3 t+ t% m7 J2 h
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
0 ?1 c0 X2 r# p" B0 }3 |4 e4 {
' c& [7 L2 P+ d. l5 |, X
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
4 V; \5 U5 D! v% \- R
) B" j3 {% z) U% }' |5 G& n1 z; _
$all
如果您希望找到一个包含这两个元素的数组
[
'tags'
=>
[
'$all'
=>
[
'red'
,
'blank'
]]]
8 `3 \2 H9 W- C: G# t
3 J F& l0 @' c9 ]5 b" a) N
$elemMatch
运算符在数组的元素上指定多个条件
'dim_cm' => [
'$elemMatch' => [
'$gt' => 22,
'$lt' => 30,
],
],
9 Q; k+ _ U5 }9 g8 O, `" t
$size
运算符按元素数查询数组
[
'tags'
=>
[
'$size'
=>
3
! J" h1 G1 f7 x# b8 h$ L+ T# }0 A( m
' i% l( s+ |! `' X
( H. s: f! H1 K
) b( D( s2 l" a$ g" [3 S
9 e& M8 @! W' Z3 S
" c# k( t( \% M$ j% M
+ w6 k2 C2 N* ^8 J' W* q
& {% c0 k' S' Q6 b- e
# K. U" U& i) {, B" X/ V* @9 x# I
组合使用方法如下:
. {) w% G: `: g8 z9 S7 h% k
% T* i) n7 }& V( Q# d# U4 b
db.user.find({"age":{"$gte":18,"$lte":25}})
9 P% _6 Z1 u) V/ `8 G. H* s
! N5 W3 p. W8 ]0 e3 p9 v
4 v5 j5 r. ?- H& I# J* x
( l* H4 Z: A& u# S' b3 a
对于日期的条件查询方法:
% i, ~5 |' s9 t+ M/ n
, }: Z7 e5 s# Q! \6 A
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
! x% G( f8 `4 Q6 m% r# P
5 u( ?6 C- c- ^
& _5 j; T( M& a) R- p
# c Y5 m$ V4 e' a" [/ G+ Y
2) 不等于 $ne
$ z1 w) C: d m7 x9 e$ u. j, {
, {0 R! l( s2 N, Z3 F
例子:
: k/ g5 p2 D6 W' Q/ E* \6 U6 f/ A
$ a1 E p; Y8 u) d( K$ ^ h
db.taobao.find( { age: { $ne : 10} } );
* f3 D+ {, {9 u7 i+ K' W& ]& D
php7 查询mongodb方法大全
; [1 m D* b1 c6 Q8 `/ ^
' r) e- [+ N0 {1 a, r& t# l
. O$ }2 ^9 t+ l8 R2 c
$ I+ C" G ~4 a* G: [0 B
! O7 N7 Y4 y+ D) b
) h! ~/ Q5 b, v+ D; |, A: V+ Z
. o/ g g0 W' ?# P5 V
7 d9 e. ~9 Z3 Y- @
" [7 q4 t& O' d3 N& ^: r
- D6 }, ~0 B1 J* D2 V
! t/ y- \! {8 A
# ^/ c- e9 O8 N+ D
9 b) g! Y# V; P3 a$ G8 F
作者:
admin
时间:
2019-5-15 11:52
查询中的 and or
: x b( H8 D2 Q) p1 r6 ?; ^5 f
//and
7 q7 V1 M) l8 o& v& H A: d# {8 E
{key1:value1, key2:value2}
$ I @( i/ D! O$ C' ^, v. L8 B+ P* C& J
[key1=>value1, key2=>value2]
; \/ G. i! j5 {) H# q- ~+ \
//or
复制代码
6 R' P) L* Z, n' a
8 z0 q( I9 {- A9 H
作者:
admin
时间:
2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序 1为升序
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2