管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:; w9 ~; b* s" o% t/ w
. E% X- m+ `- X$ G5 C4 O7 l
db.getCollection('student').find({'age':{'$gt':'20'}})* X# w/ {% g7 ^8 J q# Z
" P# n6 Z2 t+ z! t0 [/ H0 p
5 I6 B' q' [) z: z: U
1 t# _# D: t7 P" L, Y- ?$lt < (less than )* T; J9 m$ r' w4 X5 U
5 t' Y$ h+ l( j
$lte <= (less than or equal to )
s+ t5 P; }+ D3 x: f+ l! O+ L3 Y
1 @0 H+ E4 N$ O6 t$gt > (greater than )6 Z# d, r+ h! G
# g2 l* B0 |: k1 q: p" s$gte >= (greater than or equal to)9 c9 j5 D5 T, l& a. Z+ @ s: G! n
F& b2 b% W, G* M+ w _& u0 v
8 w0 W& K# r1 k! ?! J, k+ W6 |
M/ x2 ]7 u, ?6 R
$ne != (not equal to)不等于 {'age': {'$ne': 20}}1 ^2 Y+ z4 X! Q: O* x
6 A- X0 d" F% |& ]! C8 p$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list9 j* ]8 ?' B+ j3 e* Y1 }% ?8 L7 E
# c) _0 `( U* m, d6 {
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list! \+ s4 R o* T
5 L1 t1 L3 `: Y8 K" t) F2 M$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字. Z3 Z+ l0 j: `
& P1 h9 d/ D% R$ v- Y6 a$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
2 h; v8 R( A; @5 \8 |7 R: d% Y0 v& y v! p+ r5 }& I
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
9 |5 [$ b. ?5 G- G2 S. g8 Y
2 P7 y2 f* A# p& V$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
" k/ a( g+ E3 Y1 R! ~3 H! Q- m( y w8 j4 C
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})0 t5 t& e G2 C1 [% u
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);! c) [& N6 y( j0 y
# C% W5 T; r' s1 o% f j0 O1 z; d$exists 键是否存在 {finaGoalLine:{'$exists':true}}/ v7 @( Z( y3 F+ q7 M+ S. x: j% V
0 T6 s T6 _4 l3 c5 `- Y$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]6 n2 a6 I' L- y0 ~
0 R8 v7 `& a2 u: P
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],. ?0 [. f, S/ g% Y- B' T) C
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
: [- B- w2 o' s3 n3 I
9 J. k9 W" Q6 ^5 A+ C8 X( R5 J2 A
; e% J- w. r/ A; x% N J5 U8 U9 ?7 G. L5 _0 B! K
' }5 [+ W/ s' O% b& w# A* \, u) a# P7 h( _( F! u$ _' K
- i" D3 O& s7 p1 c" e/ ^" O6 V( x; a( |3 C! g# t' Z: ` K
3 M5 \) H) N O9 F组合使用方法如下:- F1 [! K) u' k( T+ X5 q
W- L# V1 v! b0 g* o) Kdb.user.find({"age":{"$gte":18,"$lte":25}}) v- \( o4 s7 h
& {( C' N, U- G# f! }5 N
?7 m( y4 j- N( ?7 {: u/ O
1 m- \2 @; p1 a/ o: s对于日期的条件查询方法:& k0 f7 k5 {! q: ~" Y
# |# s" R5 K& b4 [ V0 W# adb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
4 O8 K5 w8 ?+ Z" }. n# o2 p, F" M6 V. z( D% i' ~
u; G4 V$ s7 K8 j6 a& g! C( z8 x9 z7 R6 J6 P3 k8 ]! f* p
2) 不等于 $ne6 p# I& B y3 S8 d( m" I- e
7 e6 i k9 K! |9 l* h3 E& P7 M例子:3 x" P2 {( O+ l8 m2 S
& X: O3 H& L3 I$ F0 s" P4 F
db.taobao.find( { age: { $ne : 10} } );
. G2 v1 N5 }0 @5 n$ w, E3 }8 ^php7 查询mongodb方法大全
* b. T3 r( t0 A @) z! D/ }" C1 ^' P/ ^5 n
$ ]2 m$ T* B& F' b, V# f# L5 |! K
; Q7 L! J, o9 Z v a
$ y' W' f# z- V6 n& ~/ F
: Y, _5 y* ?$ Z: Y5 D
% _( r4 ^7 G; B& e/ h; R
8 V- q7 B5 v3 L, A2 ^
0 a& K% T' W4 f& @6 s& f: O
- ?' f( [+ b/ T- R+ L& K: K4 _
3 w5 l! [, I! T8 p$ k5 ~8 d
6 }. ^1 s( N- `& b7 ]. f* ]" w. Q9 Q5 Q5 g; F& h1 T
|
|