管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:; ?0 B' a Y0 R _3 {
' |! s) c8 N" h. ~8 Adb.getCollection('student').find({'age':{'$gt':'20'}})* P W3 [( o( k# b$ j. a/ h
! D. @0 [6 u8 H( p. t' b$ m2 H6 V$ a/ h
! z, t8 e& B/ {, Q% p2 X( ~! x
$lt < (less than ): C% v, k. Q% {2 q% G' S
~. k! H6 K8 U" v/ K8 }
$lte <= (less than or equal to )( n8 }! i! @" Y h2 V% |7 |
% p6 C$ \+ l: O0 l# ?, \+ r" D
$gt > (greater than )
2 Q1 Y2 t* A$ o% u2 b# c: a: \2 O5 f1 u% b- i, V+ [
$gte >= (greater than or equal to)
P- G2 U2 O/ L5 a% [5 b
& c+ X8 H/ v$ S3 A0 O5 a& @5 _" U
7 h6 p J. y& G/ [" B, C. V
$ne != (not equal to)不等于 {'age': {'$ne': 20}}8 t. t& ^2 h. a) o, t. D3 d3 ~; O
- f! n3 I3 V- p% d$ }) }5 u$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
8 ?$ V u; N: t4 G! F8 i" H
/ j& N8 \& R4 A) k% v3 f! M' v$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list* y5 }0 a' E2 Q; ^
( G }$ C4 {$ n
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字& D; V6 R5 [, N$ d1 c/ d
; H& g! X$ d" M" @ Q1 @. f$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
/ d$ h$ M# D; L5 ?3 q# @
& v0 j; B; @9 E6 C. ~) {( u3 {0 O$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
+ d, j5 n4 g, B) N C" q" e
8 g& y: g2 ~( D( P* `+ T- U$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
- z/ }$ y9 J2 Q2 R7 p3 J: v6 f3 B n
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
% J7 g) S7 h, G) i! a$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
; b' P( F* _" N/ I+ X( a% P
0 N8 ^4 E$ u/ P9 `$exists 键是否存在 {finaGoalLine:{'$exists':true}}
2 u- u. f" n' S- R. Q' Q
6 ?. x2 T7 i) O& D1 I$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
I: x6 L; H* J. n' E s7 g4 d9 |1 M& |% F/ T1 r
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
- U4 t) |+ l& B9 r9 P: V" t$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
8 {( ^& h8 n7 E) [' R; x) H/ j( q4 [( r! s/ H
9 k5 P. Q1 g8 V; f# I0 W
2 `- N/ W W) L! U& S# W, G6 L; y
r: o( N) y) t* R! M4 X2 C* i3 {) u
4 L" B! s* I. t8 W7 o- P3 d
4 s2 f |: L; ]
$ J! A! [9 c' N/ S. h+ w! p" c+ k) L组合使用方法如下:
7 H3 Y- t+ ~! e( Q4 J& ?9 m- r( Y
db.user.find({"age":{"$gte":18,"$lte":25}})) F- a# F- U0 `
) e/ V! p" U0 s1 F
% W: f: k7 |: I. Y, p: l& h
; @ X" t! {8 D; h6 T. M/ {+ `& p对于日期的条件查询方法:
- o& o% ~4 {# t9 g7 j5 Z
4 B5 A6 R. [/ q! u: W4 pdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})7 _# m& R" ~! ?) j
9 N. m: @: y. ^. [2 b
/ ~! {6 o6 H. U! @% s6 X8 ?" m r% a5 a
2) 不等于 $ne
0 K4 Y7 t0 s! Q3 }5 X( [) r4 k; e7 o* v* O6 j2 S' |3 a
例子:5 ~# b1 S& D4 Z
: Q; u& C8 l0 h/ k5 Vdb.taobao.find( { age: { $ne : 10} } );# c( F# e, V& W
php7 查询mongodb方法大全5 {2 I' x. O% R6 A2 [- ^: x! R( R
) [2 e/ m) K! [: ^2 n( f: F' q9 u4 K4 w. O
! P4 ?3 C3 z! V
; z d- U- D% G6 [+ a9 ?7 o% Z- h- p3 B6 ~5 e4 d$ ~$ r
3 N4 K% v+ d2 r! S+ ]7 N1 G! p2 B6 Z! A! O5 c- v
- B: b6 v7 K0 i: |$ r! N" e* t, ~6 R' l! s$ E" y+ p
$ p1 x) S9 p/ e8 O! {
: y* I) M" T' [4 J7 F% B
. m( F( n. c, R |
|