cncml手绘网
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
[打印本页]
作者:
admin
时间:
2019-5-10 15:00
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:
' e) S9 @0 R- ^' {5 `0 ?
' ]; T" L; M, i. S, V- r8 q
db.getCollection('student').find({'age':{'$gt':'20'}})
# f+ C; ~$ l& _ v
v0 O9 h6 P2 W. E
$ O2 j3 D( b' d3 o
: {, B$ c0 Q8 E0 L
$lt < (less than )
" O: R* P# e x% R: \' A: g
7 @, Q H/ z6 H2 i# l s" j+ C9 W
$lte <= (less than or equal to )
/ b k, |2 A* z) B s) T
, ?' r3 Z* |. I/ n- @
$gt > (greater than )
! Y/ n( c' ~! P2 Z+ j8 o. }" d
3 h# X7 _3 |8 _2 `$ N# h6 h6 d6 ]3 Y# ~
$gte >= (greater than or equal to)
+ D' f% c& \. B+ ?/ h0 M3 d9 M# R
$ q4 O5 o1 n) C' h& S
3 E& Q8 G' B1 c! Y$ c/ O
5 z2 s" r2 F! U
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
" k0 w8 b$ Q6 j2 R
8 M- S, b( n7 Z8 U4 H" o+ w0 \
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
l, x: Q- G0 y9 H0 e3 q& J4 U
/ D3 A% c! h1 o
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
! q# k5 p8 N4 H8 \* G r4 p
4 M" @8 y9 a7 C& h4 M1 l3 [
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
- x: d4 s+ l- u6 F E2 G, r/ D, U
: H$ f+ z7 r; a. n
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
: h8 [* g8 F' U
2 S* E9 K+ d. w0 ~$ d1 M
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
; T& |+ i6 D! {2 e/ K- s% {3 k) e: U/ s
; |$ O# V% ], i G8 y# x
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
" K h5 _: o2 A+ S% V3 E( i
4 V# K/ m+ W' l" @2 I9 M$ a- U
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
9 C5 U$ j' |! n: k
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
: j6 l" T% Q- {& i+ K
* N- X9 ~, B: S" U0 A
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
# {* `1 Z, ^: Q
; A4 v) y r) j% b" K
$all
如果您希望找到一个包含这两个元素的数组
[
'tags'
=>
[
'$all'
=>
[
'red'
,
'blank'
]]]
$ S, _ B% {+ Z+ e$ e3 X
& x7 r3 I" @8 J. W% P
$elemMatch
运算符在数组的元素上指定多个条件
'dim_cm' => [
'$elemMatch' => [
'$gt' => 22,
'$lt' => 30,
],
],
+ b$ \5 q5 {/ ^4 M$ Q& o* W
$size
运算符按元素数查询数组
[
'tags'
=>
[
'$size'
=>
3
( R* v1 X$ Q6 G1 K! P& C4 j
3 |' m5 o* u7 F. `- c
`, S# Z; n C. d
8 m8 i- E Y# s+ p
$ \: v I5 g( }4 K, k% K5 }
. B& G8 @! V; p j
' B+ p! {/ _7 _1 ]# X+ e
, ~& C4 x1 Z% R6 K2 D* B* E+ Q7 b# M! [, ~
3 U4 r! X+ ]5 m1 x& `* x
组合使用方法如下:
4 ]2 S6 e6 x4 F9 Q* I
1 _- X/ y) \+ N9 L- Z
db.user.find({"age":{"$gte":18,"$lte":25}})
3 m! i; \8 Y- K9 U: l7 F
1 w( k4 P! g3 w$ U
" O4 ]' a2 S" s3 p8 w! h4 r, N
% _4 q7 U8 u) R; p% f2 ^2 w
对于日期的条件查询方法:
, Z/ O- I% H5 o
' e! [! h2 r, Q q* V T
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
0 |/ @3 O7 K, b; P% @# t. q% Z
# g* b5 C! h6 o# C) _6 O" u; N
% N2 Y, D6 |4 k+ e6 M
8 V Q% K9 h. t8 Y4 e0 G/ ^! B a
2) 不等于 $ne
% t; M2 O: [0 L# |
' z! M' u% A) G5 V: t, Y0 h
例子:
1 l% |; m7 x! y* F( z$ q8 k- F# _: ]
) ?. Y$ `0 i& g& J4 C5 z( v2 N
db.taobao.find( { age: { $ne : 10} } );
! |5 P9 I6 ?4 G- r) G3 l# o/ h
php7 查询mongodb方法大全
0 v6 j* V; _" O7 g V5 ]' b
+ \, y) p4 U4 v: l6 e. d
* u, q7 P4 Y$ N! [
0 M7 `" o& C/ l) d
2 Q+ }. K4 W! y' \1 @/ R5 B
2 @* y5 I+ i+ k5 l) C& ~( r x" Y. C
1 x R, d; n" q3 p
, _) N. ^! t8 C8 E% ~6 Z
7 l7 q, ~; p/ o4 C0 I- ~
' U- g, d+ f9 v, ?- j/ V
9 a) I$ L4 B4 E7 A" S
# c; ]% ]. M p. [
- ~6 W/ X( y% F+ ]- l
作者:
admin
时间:
2019-5-15 11:52
查询中的 and or
: G$ z* Q# h: b: |
//and
) Z- w6 m% T3 D3 V
{key1:value1, key2:value2}
0 @ P9 X6 A: U9 i
[key1=>value1, key2=>value2]
) f2 ?; T8 w0 ^, _5 C
//or
复制代码
0 D+ `* Q$ {6 N
5 H% i K* ?, @! T! m3 I1 D6 R# D
作者:
admin
时间:
2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序 1为升序
欢迎光临 cncml手绘网 (http://www.cncml.com/)
Powered by Discuz! X3.2