cncml手绘网
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
[打印本页]
作者:
admin
时间:
2019-5-10 15:00
标题:
mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于...
查询表中学生年级大于20,如下:
/ U% H: E! h7 v! w7 c
; Q L' \5 n. |, L$ T" [5 u' B+ J) q
db.getCollection('student').find({'age':{'$gt':'20'}})
% y7 R( g: e# m6 p$ K# a
2 T" `0 \: d. f2 x% c. C
$ [! X( D/ ^. j" ^1 G# e- D6 C
. S1 d; D7 ` g; ^
$lt < (less than )
; O& l% G; }8 }6 F s+ g
/ R: k* j% e9 \* c
$lte <= (less than or equal to )
7 ? d0 L& m7 A/ b% ]3 \! S, C
) M5 o- `" ?" a# s# Z5 J
$gt > (greater than )
, u$ t- y- g( B5 m9 h
& O2 o% I+ o7 T1 K' r u: z% x
$gte >= (greater than or equal to)
& ]1 }: ~9 e# Z& T5 {
# Q% t% c+ V- z5 \
- x4 u% }; I, A3 G
0 A4 |% H( Q3 t: z! }' B! S# T
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
' ~0 E% _* X* A5 T6 d
. y5 H! z/ Z" ^
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
. ^) f! ]6 I( j3 C0 Z i
: u) @7 o0 r8 [+ S! w
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
8 Y- ^( s9 q4 P* E3 t3 i& Q! `- R
% q& O z" g2 p" i% e/ S+ U7 t
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
T0 q) k# |/ | s
2 e5 G" V% n/ K0 c
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
6 u2 Z# v" y! Q' ^ L
* r5 X1 M& k% n6 d; x- B) o! ]
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
6 p& b7 X3 _( \7 u0 U0 v7 o
) h, e8 w, j m- J* H% [4 ?
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
2 Y, |% F" C1 o1 q, g
% @6 g- ]5 a2 {+ D% J
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
' S& D- I8 n2 D5 Z: m
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
' W5 w) M1 F2 r, }
. k. Q2 d# G8 Z# u' ^
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
( q* X3 t, I+ j# ^
% V6 d( K5 P9 y& r9 t: Q
$all
如果您希望找到一个包含这两个元素的数组
[
'tags'
=>
[
'$all'
=>
[
'red'
,
'blank'
]]]
4 d; f3 d H: @& n; S
9 }, O/ H' I6 L. u
$elemMatch
运算符在数组的元素上指定多个条件
'dim_cm' => [
'$elemMatch' => [
'$gt' => 22,
'$lt' => 30,
],
],
# C6 v: x* L; \1 ^$ A
$size
运算符按元素数查询数组
[
'tags'
=>
[
'$size'
=>
3
3 w n. y; n' e9 |! ?
" d$ Y" K! p7 i7 I8 p2 f
. Q* I5 O* @; i4 X( T( Y# [" j+ P
4 E9 u: x3 w$ J$ Q" F
$ p+ K2 u0 k/ {- P5 T
$ V; v8 i2 }1 C
9 L# I0 z1 R( X! d
; m9 H8 X9 `8 @/ W! k
7 P& }8 D4 j* J9 {
组合使用方法如下:
! _- v5 @( n1 T- b
( ?2 j; |4 z j" I# J
db.user.find({"age":{"$gte":18,"$lte":25}})
5 Y2 w; T8 n1 i1 `( c4 S6 K
( x6 \: Y1 J# D, P
7 }/ P+ b& N' {! L- @. i( Q
- ?2 ]) s! B9 a& Z$ }
对于日期的条件查询方法:
* Q0 t- O5 t% H% [: [5 [
8 U$ B: Y% [! k+ g6 i' G
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
. B! g8 t( J3 C, ~, `9 f3 \
+ k" L2 o6 S/ R: k
! I8 h. L: z% @9 k4 j5 }# |9 \
! M; ?6 m7 F' O
2) 不等于 $ne
' C, m, N+ f. P4 T- b# h
! g2 a3 @7 c# s: S/ a8 z
例子:
- D1 p, ^8 w! Q7 f
) M0 F6 O' H. t6 _: r
db.taobao.find( { age: { $ne : 10} } );
|8 z/ E: n% W: Y9 d; b, [: }/ e; H
php7 查询mongodb方法大全
5 [$ [) i1 ^, A( h
$ u" X/ y/ p! f
+ d# G/ b' r2 c3 ?/ w: f) K
b4 f* l) Z# k9 d! c# Q
; ?6 H& m$ o! s/ \# l& k
" `2 S5 ?4 |2 V
& f; W* t: k4 L/ \, L$ S1 Y+ }2 V9 b
) n4 U' E2 m$ M W. P$ y
) G; y! L% Z6 ?: Z/ H! M5 w
) s; n9 z, h8 L8 O: ]5 @ M
6 c1 [1 m" O/ L; E j
) ]/ i7 s# I) l! \6 z+ r, ^
( y0 Y% u4 x+ E' Z0 H
作者:
admin
时间:
2019-5-15 11:52
查询中的 and or
! Z2 L K) @) w
//and
- z3 b! j! s d. w8 C0 ]) ^# d/ ?
{key1:value1, key2:value2}
. P3 N% B v7 _3 r% ?- ?( |/ u/ r. P
[key1=>value1, key2=>value2]
+ I# x# ^8 }. Y! a4 I
//or
复制代码
, D' k% p: W0 e8 U9 c* ?# y, n
5 N- I6 d. x \3 y7 J& J
作者:
admin
时间:
2019-5-16 15:39
'sort' => ['id'=> -1] //排序-1是降序 1为升序
欢迎光临 cncml手绘网 (http://bbs.cncml.com/)
Powered by Discuz! X3.2