管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
$ }; |' j* W& H" @, J6 q8 u& B
4 B M1 e) b8 d0 k* Ndb.getCollection('student').find({'age':{'$gt':'20'}})
( ]( `9 x; q& l6 T: z- E1 ^: \) q9 U4 ?7 W3 J; s
5 E6 B% l( d! r
- L/ x8 p: E4 r6 V+ a7 @$lt < (less than )
# n* @* p' n- }0 l( T4 a7 O( l5 ^0 |. `7 }* T9 \ p$ D
$lte <= (less than or equal to )
! D5 ~& n9 R3 {$ E9 m
1 U5 e$ ?* S; j* P* K5 k$gt > (greater than )
G |6 u6 Y/ ~. y& G+ d9 t8 W* Q
2 _# g) X" S. v# k( d+ r0 L$ }$gte >= (greater than or equal to)" e* q' S* H' d( b1 k ?; E( Q
4 m( G- U) Z" ^7 U# Y
$ A* q; h- k' R: |
( R/ a' Q1 g2 D+ r$ne != (not equal to)不等于 {'age': {'$ne': 20}}
, {. j, s1 |1 `' o3 M6 t% S: L# _8 Z, v) ]0 i
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list T! _7 b) a8 n$ J) _
3 \4 O1 ^. i7 P; A1 y
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list& Y7 f8 s6 T; {% V L* ?8 x8 j/ F
8 k; E! ]4 z* G/ u* o$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字1 \/ f a6 @+ q8 b6 T
7 R* E! {1 `/ S+ ?+ D4 V6 V$ ?$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
! g8 T, v: u: z5 l0 ?/ R) q5 Y! W/ H' r: f3 T
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int; w' G) Q. T( a. l& S- t
6 m- L* W# m" w
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
# t* k, y( V" ^6 u& W& |
0 D% M) _5 J, f2 N4 D7 T& y: Z$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})3 T* H) k; F2 x+ ]. m) l
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
1 ^- P7 F, c1 X# S& q Q% }
x/ Y6 ^3 |+ f `1 H$ \6 D8 a: Q* Z$exists 键是否存在 {finaGoalLine:{'$exists':true}}
" v5 S7 c: A" g" Q$ X( i7 R" ]7 S! S! ?( g4 V9 \
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]/ o: q; J4 {/ N- b! X# l: R
* k* E2 a8 M( Z6 v ?, Y$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
, ]5 w3 ~& y* u# G$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
- n" c# i& B8 a- @( n ~: V9 n2 A/ u8 f+ f" C
* _6 V; w. v' a1 v$ `' g
: k; K1 [7 n. x1 o1 U* m$ I
# m' c" B5 M3 X& R" u5 |
# f6 F) [, j0 h, |) A+ H7 [- B. H* v$ I5 f% |
2 c; @ G6 o. ~" a( Y+ h" n2 S8 X: E
+ x! r- {: @1 J7 `& |: [; t4 H组合使用方法如下:: C6 d6 _3 q( Y
8 \: W" C' D1 |9 ^/ U4 y* Y* Xdb.user.find({"age":{"$gte":18,"$lte":25}})6 y- g O" Y; [: _
, D4 z8 z( G& M" V
3 }! j& S! N+ H( U. f4 T+ z# k9 `; r* x& t3 f
对于日期的条件查询方法:
; R- y$ w: B' |8 c3 w
* P5 P, r2 e9 d7 Ndb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
9 e" u% N% Y! @3 u. H+ ?& U$ c) E4 W1 l I8 a' u* h" S- k
' K; [) i% c; z$ ~: f
" c* _0 i1 ^: c3 C' R2) 不等于 $ne
* _- e; C. x; A4 X5 J, Z7 ~3 A% J
& y& @9 R6 U6 {. A. T5 K! b) w6 N例子:4 D0 [/ `2 J y8 @% `2 ^3 ~2 `, N) C
4 e, Z5 F! O/ ?, p( B0 Y& [; p. e0 Bdb.taobao.find( { age: { $ne : 10} } );
" z& I* p Y* `. k6 sphp7 查询mongodb方法大全
9 h9 n6 I3 |9 Q6 W& b0 {) L) Z/ Q T& n( p; x* n; H5 T
$ ]' p( K8 F' p3 X
R0 R7 ?7 G$ n% S! U8 l9 s- i3 I
4 ^# t, b; Y$ `/ ]
; M8 o$ u# N1 Z' A4 P- r
$ l+ U0 U+ H) D" s5 t3 j: P! m! G6 y2 C+ z1 M" h
A% u5 Y. j- I2 u
) n; ^* r/ P8 h' m: b R
) `/ |5 m6 ~1 J/ S1 A6 ?4 ~7 r. @8 H; N3 e8 ~9 g6 @! W8 r
8 K( x2 Z; ~3 }* s7 O+ x |
|