管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
6 R( J% t0 ] s( V# Y |, m$ p3 E; I1 v- J' E4 ~9 d) ~
db.getCollection('student').find({'age':{'$gt':'20'}})( c3 E% t: Y4 z1 `: R
# `) W, y! b7 |/ l, A7 }' n+ k
+ i) J( U$ \& C3 T j$ W( U
7 ^% ~5 M, j; { h$lt < (less than )" B9 i; {/ b+ ]' v) s% ^8 v
6 Z% n0 q4 u6 s% Z8 [5 \$lte <= (less than or equal to )
8 X: u( [; }2 C$ Y
! ?$ u$ D+ L; I( s+ `# P$gt > (greater than )2 N( c% ^; \+ c) f G! a: v
' N& |/ G- C& x' o1 \1 [- W$gte >= (greater than or equal to)
3 i5 ^: _- t7 p( N9 x. q; G0 v8 c; b+ }* H8 Q9 { M' K- U! L
8 u8 x. ]% K8 Z1 i5 ]2 B) l- j, g2 H1 w7 P: C) t
$ne != (not equal to)不等于 {'age': {'$ne': 20}}$ s2 @; ~, ]% D. ^3 g8 a) K# q
8 q* [0 y2 K4 ^- O$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
3 l- f3 e) I" C, D
' q! {3 w, Y# `2 l4 k: q$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list4 r2 s P( @5 R2 g- g$ U
, r9 ~ m0 V/ [2 P, z* g$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字9 M1 y9 b+ i1 T+ s z: t6 J+ `: ^
9 K' j. ]- ^/ L6 I% b! x$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
, m) V- n4 j7 k w/ S) r6 Y$ X: v$ {6 m* l1 E" [, \& q7 |
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
. u$ l. o2 u- Q! S6 {
- |! W% U6 \. p) R) C$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串9 T, U3 d- U2 P$ |9 ~7 Z( F5 ]
% C7 O. C+ w8 g7 [
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})/ d+ _) h# G3 [3 q4 M5 G0 E
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
; V5 O) T( K( w# x
8 `/ i3 h( n& K4 \3 D$exists 键是否存在 {finaGoalLine:{'$exists':true}}
5 P" [) q* m7 \2 E7 {/ K. M
2 P2 ]* ]: g4 R% b i, a' ~' N! `* S$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
. S2 ^# l3 q7 V/ b, ]. r5 g1 I4 w2 _3 b; W/ T( k
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
4 P" \: y% J B' @$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 5 e: p/ Q: c4 m J
' Z7 q7 M* u; M0 J
1 H/ t. }1 R$ v2 H" |% w
4 o/ [* r' G# j" h$ ~) C
/ \- w. s: e4 G& C7 B; y: W
6 n( ]' U/ ^5 H: T3 t J' c1 Q
% ?9 w. u: K+ l1 y1 o/ J5 B+ w
& P5 U1 Q, x$ W9 V
- O4 N7 Z4 V, s. E组合使用方法如下:
4 D+ F/ z6 a9 N( B ~# h, o7 A4 {/ v( ^0 h" R0 e! [7 q9 h
db.user.find({"age":{"$gte":18,"$lte":25}})% l9 @, H* r( o" M
! q9 N2 J& ~" ?
s2 G$ b6 X, n" `% l9 F+ H4 G. y
; g# y, n c8 C& s对于日期的条件查询方法:
6 F2 Z/ M. ], H w& J$ u6 Y+ H* _( [8 s! |. Y; w
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})/ R/ G1 J, `- A0 G" x
" b1 S, r$ b6 K9 O' g
# U* F) r! C" E S. N7 d( B
) B9 `# w, D+ `: z; Z5 h1 ]2) 不等于 $ne
6 P( [" j; \. [! G$ k6 S
) e/ j) {; m! K5 C4 h! b X6 ^2 |例子:
C2 B1 Z1 b1 e+ _' y8 L3 E1 _& n0 S, D8 U
db.taobao.find( { age: { $ne : 10} } );# B) h3 N# G$ d5 f* y7 G
php7 查询mongodb方法大全
, k* d% a! U/ k+ k5 N4 {2 c+ ?( R! K0 m5 G! W; I, i
& R7 Y3 f6 O, M$ X( o1 K
, z1 N" K# P0 r! ~) [
5 j q, r+ H" y5 Q0 J$ t% C- z% g2 S9 V1 J W
: o0 N$ ]0 T9 g# O5 m) g* e& I( R
1 f x A) _ B; i) ?$ a
* }$ D: J# `3 b. W5 W) @( z! p; S
: [/ I. c/ \; h. E1 t
2 {6 ?. i7 r4 o" m) D( i: L% o
" _ q! S! c; V; w, Y' N; I |
|