管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:4 S# u2 m, X1 V- c2 R- m1 g( p. n& |
" c' A: v, X2 I3 E+ b$ Gdb.getCollection('student').find({'age':{'$gt':'20'}})
% F" U% F7 |& L% d0 o& ~
/ {: E W9 U% i! j+ a) [# k$ E- @# F- [
* ?7 R Z' \$ a; P8 o0 S$lt < (less than )- T" D7 ]0 U3 ]: O7 q- o! @$ u
0 D" h* C1 p) ?# m7 C
$lte <= (less than or equal to )
: c. p# s& b6 Y3 p# g' z9 U/ i( m
$gt > (greater than )
+ E& Y7 a( L$ Z6 D1 @1 g7 f- S# M8 K" K c( n4 s, H2 M' [! b
$gte >= (greater than or equal to)! t4 b: M w7 J: Z* I9 C
" D Y. [8 \4 p9 X4 J" D
/ ?% [# S" ?1 S3 j: N
9 D: U' [5 \8 K {7 K$ne != (not equal to)不等于 {'age': {'$ne': 20}}! V0 i4 ~* d3 M0 ~" L; ~
6 N! p x) M) x5 d# @# t' m/ d9 S$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
$ _/ L& o( |/ c3 \/ q% L2 c8 p/ v5 [( }
+ ?% B' z \9 \: ~4 R/ F: y5 @! N$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
" u" a0 ?0 f1 b( o* B3 Y
3 b+ h( |2 I( @$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字3 Z* z: R* u! F# U
( T2 U) E' i: a3 q3 `
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在8 u' p8 R o+ @" x0 R# E
7 i4 g1 k' x" [! f+ |$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
# h+ g/ [6 {! r7 X1 b- \( [' M9 m G/ r& H" K) s: a2 X) Z& @
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
& O" `) X4 G$ U% L. `$ _ A+ ^1 `) Y/ h: u1 m' ?, ?4 w
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]}); l1 r) Q. z$ x) k4 I% U: D, }
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);. _6 H1 L7 n4 ^
8 c8 ?) h; M& @7 B* }8 w
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
6 J7 Y' L$ f* |/ [) c- b' m
# F- b8 S' h$ Y/ X+ @$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
% ] O7 g9 ]* _3 j1 j n
1 Z0 K7 `1 B2 F" }$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
9 n1 {( {& l j# `8 Y$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 & K$ r4 R4 D/ d2 B5 y; N
3 e8 h; }7 ?; k: [/ O% N
% H) ^9 o- G8 O6 h' i$ H& T
f6 ~, k3 J, a6 x: h
$ t5 _. t4 a7 n0 M* T m* }$ y. D) E0 y, c$ ^. Z2 C6 g' i
; ?% _( o6 `; e' |* s- W2 b2 ^ M% R' F
( O. k Q* D% X( ^# ?8 u
组合使用方法如下:
) D8 D( ~9 D7 x/ ]9 Y1 I% d" T5 o& F& C, ]
db.user.find({"age":{"$gte":18,"$lte":25}}); G' u' M# t7 G& X
* \: Z, @, Y6 M3 _, ]* f2 A4 s ]7 a. i% x; b
/ A% r. G9 J. E0 j' P% q! ~
对于日期的条件查询方法:2 w) Z1 Y- q/ n( E* s5 Y
+ q6 c8 \* o7 R
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}}): j" X- y9 a9 f, p3 m g
7 D: ]; }; {& V D5 ^' n, Y" `# q% K: |) m' z- M, @8 V& Q
7 u8 |; u3 ~' I0 N1 d% w% B/ o, O
2) 不等于 $ne; N% q' {" J1 Z" e; T
+ p0 ?, J) X% j0 i' `7 X
例子:, V1 E# s/ x. l. x! b9 q1 D
6 Q l1 d/ G; q8 q' t( R
db.taobao.find( { age: { $ne : 10} } );
4 B4 w( R0 r7 G9 C, \/ o1 ^) aphp7 查询mongodb方法大全, x: ]+ ]( v: ?9 S) y4 s
' v. o* w) R1 D4 e! ?" K* w% }2 W# w/ O6 |6 \, X/ `% w
2 U8 W1 M) b! \) W/ n3 a E7 q) m& v: ~9 s% K0 ~& V( z5 K
# e6 s, k* U5 L; }) q& J5 f4 q" o. E# {: ^ r2 ^" R) Q$ ^
3 \$ y6 m. v$ u3 p7 v& x: @0 M0 D Q5 _0 Z. c
1 K, Q1 B: j% l; q6 L" Y; M( A5 W8 i* ` j6 p+ F
. [& i$ F, `$ d: w" P
9 Y* l8 H; R' \ |
|