管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:" W1 v% D. a* P4 o: z# g+ c
& U" H- L6 n" B8 y% N3 j8 G
db.getCollection('student').find({'age':{'$gt':'20'}})5 P3 v3 u6 ~6 U, ?# z2 \0 N" f
4 W1 _# H6 W5 e5 {) F, g& u
0 I9 o7 ^4 l* W1 @1 V
+ C# J2 b. k! |1 Y
$lt < (less than )6 H( n& y" F1 v; |" l: ^- |
1 a; ^6 Q4 T7 {0 j. g1 R# Q
$lte <= (less than or equal to )
: r1 f; c; b( n5 W$ W8 A4 i p7 O& j
$gt > (greater than )1 X1 w$ s2 q5 K. ^( ~) ]" f
4 H n% |# L: ]) u1 U( d
$gte >= (greater than or equal to)
! l# T# c3 i* X$ l
) C0 z6 T t7 y7 B6 H
# H5 I7 c( K% B+ d( O: h+ }. X+ G7 ?# O7 G, `! C, k- k
$ne != (not equal to)不等于 {'age': {'$ne': 20}}+ l1 q: M% l8 X' ? O) L- R
6 ]& D4 H6 G# m4 S* n
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
+ f) ?+ ] K5 C
4 a( f* z, U# |$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list' b! y& L3 D, v1 ]* f$ j' T0 ^2 y
( J8 a, K* K& `& H. j ~$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字+ X, d" L) [! S4 [: z# G
' m" M# j. Y' N+ k
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
& l9 J4 Y2 j" S) h; y, k
+ I* O( {& w+ z9 s# t, N+ \" E$type 类型判断 {'age': {'$type': 'int'}} age的类型为int/ e! E3 q+ T2 e, p' a2 j' N
! H; T5 H+ H, m% @
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串# E7 s+ t' m: l% O
5 j9 k- D% |: T" p$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
& M$ _1 e- I2 ~% P$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);* R. m% A; O. r. m" C
6 |( f$ o1 n3 Q8 v- `7 i: e
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
6 U8 S. f" m0 x, O( z
' k' m3 O% u) q, Q; s* B/ [8 ]$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
* {4 b f0 k: O: e7 S$ A3 C U9 v9 F5 V @6 j* v
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],4 d, F0 U( l3 ~5 O+ i
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 6 E( Q7 I( t) ^# I5 L
6 e* z; k1 S& C8 U0 W
( ~" D( |' c- p/ ?& t
# R% V+ C, T7 s
" ^9 L2 D9 |2 j/ o0 g, w
- l6 \! M4 i" d V
3 G7 Q: z4 o3 q8 E
3 ?% M& |" Y; P( I8 P. ]8 S h5 m( ^* S6 \ O% i
组合使用方法如下:$ J" X/ I; k: }) y- o5 f; ~6 @
6 ?: `2 w. J0 F2 m
db.user.find({"age":{"$gte":18,"$lte":25}})
3 ~. A7 H! Q* R$ f
# B# C6 L! f# z. x+ e! b
1 ]/ k' C" I' Q4 x8 Q% k. y7 }( ^$ R8 ^; d3 h
对于日期的条件查询方法:* A' i+ C7 T: C, o$ `
6 @$ _' Z$ u& [7 [# odb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})+ b* n; z! l5 i$ C7 f. v8 A
. f8 p% T/ T4 V# K: n
, ?6 p. L% U; D8 G# B& B9 z9 f& w
0 y' {% L# t/ I2) 不等于 $ne
: `* Z* s) n/ Q; z$ Z" i% R( _! [. _1 l) j4 [9 j( D
例子:! q% g/ { j! W1 b9 i. }
5 |. {- z/ Z! M) Gdb.taobao.find( { age: { $ne : 10} } );! P. w) J+ y" k' K
php7 查询mongodb方法大全. V$ V: Z) v' i2 d
, j2 B9 r6 a m) d7 L
+ [" g) M! O+ Q& p$ B: j" Z4 Y% z* E% j1 {5 P$ p# `
. V/ k# w2 O6 t G8 {. c7 W4 X0 V" W
+ O1 u$ b; I, k- L( g: K
* o# f9 x3 t* `" K0 [$ z
- U$ q" W0 {+ Y2 F$ V2 p/ U* }4 G0 ~0 O
, }5 _0 X {* N+ [) c: k2 i0 h$ N' p+ \, ^5 h& k. k
& f5 [; ?9 h! g' s |
|