管理员
![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,如下:2 ?* K; |) n: p p& R6 T n
2 |! X& j: B: x6 V) z. m- }
db.getCollection('student').find({'age':{'$gt':'20'}})$ G" |8 O! M6 G8 B* S# h6 t
9 P: p! e. R; o I
( P! q% d, q# T/ W% K6 z- X
9 W' }1 V; F/ ~' G" _: O- V4 Z$lt < (less than )
. w" ~2 Y6 ?1 D7 d+ @* ]8 ] Q
4 e# L/ {( {5 V2 W; z) K$lte <= (less than or equal to )
& Z1 @ E. C2 j+ [% B+ `' J
* N9 H! z# t( z8 P) V6 m, B1 z$gt > (greater than )
: }8 G8 I, h) U4 E- _* {& g- _- [4 H
/ Q0 a, J' P( q: w- M. z5 H$ z$gte >= (greater than or equal to)
4 K: H1 {9 z# l; N6 L! Y; u: ?. M2 w+ R% [( _" s* O# A
/ B4 }4 r- i" L, r8 F# |0 C
! E! j& ~7 P* j$ne != (not equal to)不等于 {'age': {'$ne': 20}}4 q% a! k+ w; p9 ], r4 o! [
" E4 y2 a) l1 a% x2 E+ v# \
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
$ g4 h3 d% }- t% J! p9 z* p+ g
$ i4 d: ^9 @* v( _8 p0 p$ N; i$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list5 }, A b9 L( S3 A( U
$ L, \! P1 n8 Q( u- m$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字- E( y! j2 V$ Z( ^( d u
/ S- Z& B, ~& N7 |; q$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在5 j& E$ g O4 ^. \/ i, L
( X2 p# h* z; C+ \& ?3 n9 d$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
+ t" D1 a3 u; Q A( H) N# v" g3 F1 a# Z0 m0 E8 o$ `, k
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
4 F) v( I2 K6 J$ [! w, G/ M: x# E8 b" P: u, _3 Z& G4 C2 R7 w
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
: _4 K, m" ?, \( _) V$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
2 H* v8 I( `# ~' z! g' e/ {5 G T0 S v- p0 z0 }$ l2 D1 z. D: M
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
4 X3 V7 f* N9 p% E, c0 q0 q- y/ s2 Z6 q' B
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
( G: a0 l7 m! O" S& z' j/ ~/ j6 x) n: v; U
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],& z! w1 y7 O ~5 X$ U
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 0 p5 Y0 w0 \6 z O; s. |5 e$ T
( B/ v1 E T; e1 a- i
2 T2 _' g1 ~# q" m- g& k
4 G f$ m5 X1 }
5 h: \8 ^) L6 d2 r7 N) q8 m* @. e) l
7 V/ O9 }/ E! p2 R) U& x; e. m L
+ C) ]+ ?; t+ k; t& e' G2 b
5 j/ v/ g/ y. n
组合使用方法如下:7 n. b$ C/ R9 w( _0 O% L( L3 y
0 I4 z2 i0 [. ]6 \0 L$ Kdb.user.find({"age":{"$gte":18,"$lte":25}})2 {! w& x6 c9 J! |7 ~& i
. M8 m# ]! ~) O. E2 W
( M6 M0 R: a5 I+ \3 I% G3 l0 K! ^: J: k! J* Y& c T
对于日期的条件查询方法:
7 J: {5 E1 C! F4 c5 { ~3 b. H' K. _8 o9 i% i/ [- u
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
4 Y; m; K. J+ E: L) t2 j% j1 j4 T/ w. J% v$ z8 H
* h4 v' ^5 _0 ?6 D0 `% q) |8 L& ~$ W& b# ?" c8 U# g# k
2) 不等于 $ne' C) N# U0 v8 x9 [
7 j+ ]3 [& d' D1 E# Y$ j2 {例子:* U W- l7 M2 \! k! P( b
% ~! b" D# ?' n: ]/ }0 Bdb.taobao.find( { age: { $ne : 10} } ); ~; Q4 S3 i0 t! E
php7 查询mongodb方法大全
/ N) y" t* E! o7 K8 i! _6 y
0 I- I; }6 ^; w' `4 A3 z8 E' {0 W1 A: X; G% e2 W
7 i k5 v+ N- }
: t; [# M; T3 F5 F' y7 r+ S8 r/ I4 e: I, }: c- R( q6 O# \
1 Z, m' |2 |0 c! ^; N- o+ ]4 d0 x. B; R% G7 y3 U1 l
: d) h6 m4 }& V9 {# T1 Z, ~% B2 C3 y1 q) H
5 | ?5 ^& z/ N& ?& F9 n
. Z s0 j3 w8 P! S2 w+ [/ C
$ W+ [. h; E7 W: }9 \! Y, S. H |
|