管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:" K |. P& r# h! z! _3 A
! A, s5 } x2 Z3 l9 [* d$ @, u( qdb.getCollection('student').find({'age':{'$gt':'20'}})$ _, L; l% ?& ]8 R5 T- }7 S
2 G! h) U# H: A3 w. r1 D+ c0 t
- e" p6 Q7 u: u" o$ z4 a
* a& O/ Q/ T3 S* L$lt < (less than )
$ \1 e4 A7 ^4 K* ~& ~' U$ E* y5 X8 }. P) h) d8 n) K
$lte <= (less than or equal to )
# P' ]5 [$ F- f: y
6 W( Y3 d5 J! y$gt > (greater than )
7 J6 y9 T( R, ?( R2 o; @1 z" u% E( H! l3 E1 D2 \0 n$ e
$gte >= (greater than or equal to)
& L0 a, q1 `9 n7 I
0 V; e, N+ T% C, r1 a9 q. T0 N
+ |9 I8 G" a5 |" D7 n4 D& p8 w0 w
; @/ Q3 [0 \ F- v; M. x$ne != (not equal to)不等于 {'age': {'$ne': 20}}
7 Q+ P2 c) [' A0 }# ]! ?- o7 j9 u6 D0 I- t7 o# m, W! x% f
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list2 X8 N& e+ T7 P: Y+ ^) e
9 r" k& |$ q0 o1 Z, G5 M
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
* E: Y: M9 q" Y! M# ~1 m8 s5 ~( P3 j* s, j, M+ A+ ~4 R. y
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
/ y) L' u' J9 n7 t/ J) B$ T' Y7 B+ F1 q- [/ R j4 Y
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
' M/ i& Z6 _ ~; r5 Q/ I3 J& x! [. m+ E9 `' A, a4 s. F: i
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int1 ]# ~1 n; j3 }, [
( F9 m5 V# z4 N5 n& r( f
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
2 l8 t) E \" n* D! X/ q7 R7 E8 l4 g" \
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
# i* b7 B2 g: |( n/ C" i8 }$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
3 c3 ?0 g' ^- ?+ N I( d% N. B' n* {# r
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
0 E( P2 ?: @1 p" N" ]) \
1 K* m s. B: r$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]6 w6 }8 J" |3 W5 E% T$ g
/ F% E( H) _8 I1 G$ C. ]$ |& }! Y( \
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],& g! ^ x! b& a
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
8 y; U$ y0 q2 w: }" M* x/ @" J. P" i7 C7 V7 F6 [ P5 X2 r
2 U2 @) Z; X* M# B' h. s0 ]
8 Q: `; g/ k+ q5 u8 X: G
) y5 n& A2 s6 a) n- y! F! _3 h% E
$ {8 P% Z) Z8 y4 Q% T$ E
B! u$ o {; z
! L/ i- y) B% z5 g" C; q# H+ d& A* a7 r
组合使用方法如下:7 r: N/ a( q, r" k; w2 F
4 m. O7 g; j4 H S' K9 {
db.user.find({"age":{"$gte":18,"$lte":25}})
2 J! n2 l6 ]9 B% {2 S9 X% f
, d" O3 R. |- R3 z' f: b+ f* \% {# T2 M% O
7 F, U1 g0 ~6 f. @5 K对于日期的条件查询方法:6 x' Y- c1 j+ a
4 Y6 A" O* n" R& |+ Fdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})4 d* g4 F( h# y8 ^3 @' f
$ T" R" t, W+ k/ {6 V6 T& g
* [5 v. v3 f8 m* I( I4 F
1 C, e; K9 ^7 |( W7 e* h; _2) 不等于 $ne
" v0 D9 S. j$ T2 {" L# Q
$ l, t2 p- Z- ]2 U例子:2 K8 V- p/ }% Z$ ~
) }) y4 ^" ^# j5 d0 D% g: t3 [db.taobao.find( { age: { $ne : 10} } );
& Q7 `2 |) v( U W5 q' mphp7 查询mongodb方法大全
* c" F, \3 A2 k' I; e% K4 @' T: z( o c; _4 U- H
' I) A9 d7 p: l3 Q: ?
( d3 l, ~: s% m- e) p: n1 J/ v% F# r
* H+ h: n+ @& M( p8 l' W
! l5 g1 d) }6 Q# A6 P/ E' Q
/ r) c2 E' n7 n) N1 x" W
/ ^! R- b, t1 M3 o
; C* d, [% k# H- A3 @& O
! H7 D. g& i3 |' L7 \3 o0 U& o; r$ p) _4 q! U
- I, V' E; T( C# k: Q* P/ g |
|