管理员
![Rank: 64](template/yeei_dream1/css/yeei//star_level3.gif) ![Rank: 64](template/yeei_dream1/css/yeei//star_level3.gif) ![Rank: 64](template/yeei_dream1/css/yeei//star_level3.gif) ![Rank: 64](template/yeei_dream1/css/yeei//star_level3.gif)
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
* t: w1 n0 I D5 N8 a! Y1 D, e7 u6 e" D% V( W
db.getCollection('student').find({'age':{'$gt':'20'}})
: N: k9 I! l6 k4 ^( E! A6 U
0 V. L* N2 i; X: j9 ?* P# P: U/ F: E% A$ u! ~% ~+ f% l8 d+ r
3 a0 T6 ?" w5 w" {) a0 @$lt < (less than ) Q& j. \% a$ b2 v3 F3 q
$ N5 s$ {8 F1 c$lte <= (less than or equal to )5 {$ K3 s" [" z0 r3 M. i
0 I( y' _5 ^) }7 ^- {( d( @ F
$gt > (greater than )/ B7 D* w3 o) D$ n3 D8 {1 G
9 \2 w, m% X* q1 l" K
$gte >= (greater than or equal to)
5 x, R0 p4 R B+ O* @. m8 v% z& v' s( U- \9 j( q
( ^9 X* F k p! K/ q7 i
C/ r5 L- d( K/ K
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
: @* p" ]9 L- x4 J+ [1 _# U; g. L t8 z6 K; I
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
! c+ n3 X$ s/ e6 ]6 J
( G3 x4 e" u! h* O, F$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list' s7 N$ h( p7 i0 W, a# S
% A; ]& T: C5 X8 R$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
5 e; [8 ^' |5 |6 c9 z- F( X4 B: B' o0 a) H% x5 J: \9 y
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在- ?# C% o5 P! V) I) g/ f& ]6 A# b
' f/ P6 Q5 m/ V& G" x# D$type 类型判断 {'age': {'$type': 'int'}} age的类型为int2 c, L* Z. `/ I3 y6 r% {( V6 V& }
9 W4 A2 X! _% d. E& v
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
: c5 F+ C: s, A1 S- p) M
2 X% z2 z- u: I- T% ]$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
4 C# X' P% g: z; a$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
, u& p* {& {6 T; o6 u
* b5 c( V4 d/ b0 n3 D0 q$exists 键是否存在 {finaGoalLine:{'$exists':true}}* H/ \1 A* C! \- ^
. u; r* `: Q& W& D' n) L$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
* s2 X: u- l, H3 D
1 H8 [) A6 f9 T! S% J$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],0 \# m3 |; ?5 d+ m6 Y) G: i1 `
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ' [% C/ D1 F1 o9 @6 Z6 _9 ^3 z
/ c( b( A3 j5 L$ X' @# a
R8 {1 \2 x* R
4 B* K7 t, o2 H( P5 m
" l9 m6 e' D' c) n1 V
D3 L5 m% O n4 L
# `* S- \6 A2 I9 b5 K E: d7 P4 D% [& {
6 Y5 \2 k, {# Y" |) x7 d
组合使用方法如下:
& U+ T0 O, g2 t9 `& X1 m
W4 D& F, u1 q" Z7 ydb.user.find({"age":{"$gte":18,"$lte":25}})
0 E1 u" [5 P- e6 ?0 F ~% H$ ^$ d
8 _4 N, D: h4 ]$ N9 g, ]6 ~0 @2 k9 z1 I/ o" L9 c& A/ i
- P/ U# g" k* J对于日期的条件查询方法:
7 ~) l4 {& U3 U- P! M3 l1 B0 ^- x+ u. C: X2 r# |8 w9 K# u
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})+ R' f$ y$ ], \6 R& F c2 M. q
- s" |, ]% x$ {
% h% D7 ?$ \' A6 g$ P
% P# g$ E- w1 O6 z/ |' h% }" ~2) 不等于 $ne
0 ~6 {' Y3 H6 x, ^, ] W& ^0 Q$ @+ U% D1 j+ M
例子:
. n) p* _ z/ Q. [- n
4 A" g2 M, F- o) h# {db.taobao.find( { age: { $ne : 10} } );% V% ]" f! f; e* [7 [3 s; G0 l7 A
php7 查询mongodb方法大全/ K* f; g0 a) i1 n; j1 @
- B2 c0 c1 R) Z$ M$ O
- s/ Z. o% e0 K" _, \3 O0 ^3 o$ N; G3 {* ^, A; A$ |
% S9 F8 ^% W. M& b* g4 f$ L
! Q* q! m$ x7 G5 c- h1 j; O2 J& d
' Q. C" V- T- z+ f1 @ O% j2 b( C3 }
. e! P2 M5 U0 z; p
3 P% C8 w, z4 H3 O* \( d, ~! u6 }4 |
1 l" o- l" R& F! d# F+ L
9 Z S9 ~9 A0 F2 s& f j" B( j |
|