管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
. `& b/ H6 Y; ?
8 O w7 f/ ^3 Q( r1 j2 L. {' A3 adb.getCollection('student').find({'age':{'$gt':'20'}})
( ~, Z5 E3 G$ c# y7 G5 ^! C; L2 w# o! Q0 ?* k. |, t" N
+ B5 \9 o; m* }0 f$ ]4 ?0 |& o! E4 l0 @9 I3 y4 \! q' e
$lt < (less than )
( I( |, M7 I- r3 c
1 {6 Q. v& z8 Q8 A$lte <= (less than or equal to )
3 B k0 n+ }+ M( d6 l) ? Z6 ?9 W$ ?2 m: |
$gt > (greater than )
# L8 n" f g4 e1 T. Q3 b8 H$ [
0 G3 @2 i5 \4 O( K! r$gte >= (greater than or equal to)8 T7 j5 I/ G( [/ ~
& m! g9 G/ v7 B9 d8 |* N: Y# R
, N+ z7 G2 {5 e) m$ ?) w9 {; Q! n+ ]6 o6 q2 {% v7 S/ b* w
$ne != (not equal to)不等于 {'age': {'$ne': 20}}: U$ S+ W: [, _3 w. o3 J$ [
# n5 k& D! F! b+ D$ j
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list1 F' J" B1 n$ ^" G3 B4 Z3 M$ ]% |
# k- g8 W- i6 G/ K0 M+ \/ M' r
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
, C% a1 O2 d- q1 [; |/ u. f) Q$ {& c" Q7 ^" `, O
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字! @4 H5 u$ E8 H- R
+ M6 u5 c3 y) i$ A6 B4 e: O( e2 k$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
" F/ \# b" }8 ?, L( |+ e! t/ R# F1 X2 j) [% }9 |
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
* R' ~4 t* e0 o, O) V0 d) x4 @) y
) y% @5 {) h0 Q* j2 A8 `$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
2 ?# D0 Y! Z3 g5 A3 U& W, g I6 T% K# c1 A' L. n! g6 r
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})) W3 t3 p2 i1 k9 ^# l3 a6 X
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" ~( b( k1 S8 \
8 L* L& a0 m j1 L g- d$exists 键是否存在 {finaGoalLine:{'$exists':true}}
" o% b1 ]: g) ~, F# u% r- b" k2 l/ n7 H+ X1 U# _+ y3 p
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]2 s% B% Z g# ]
. V* B _8 G$ h! H$ Z7 G, k D M4 [& |$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],* H+ w: q' V" n3 L
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
3 V% B% C* ]9 s: V1 P7 X% s% O1 g, w4 d* h {
; c, k& P/ O( e" A
+ ^! E0 ]( D# K; N% d
0 J3 ]* n5 ~: N6 O/ U1 d/ e$ t0 s# U! ?! J% t7 @. {
# q" G2 O b; o: X- x7 E
) p: {& ~$ d- a) u/ _7 H0 k
! g8 U9 ?. g) R) J组合使用方法如下:
0 A* h' |" ~' k% A# t2 t$ M" T2 f1 s' t2 a+ x3 W* R
db.user.find({"age":{"$gte":18,"$lte":25}})5 V& m) d' @6 g/ y+ R1 b
6 J) a+ ~! p$ B6 d5 i
8 _2 r3 D* M1 e6 @, T2 X8 g8 H! a) P0 m7 w5 X' l
对于日期的条件查询方法:
! H8 S' ~) `9 ]& A; H4 J& [; y
/ `. S" [3 X* g. Xdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})/ H" J2 E! G- M
1 V3 J% l u- c' A1 f
! b7 q' \9 B( U
9 T/ d/ m7 d% @6 G2) 不等于 $ne( L- P' K% d; P
1 @% d) d5 i$ g/ L$ \' k9 [; A$ o2 O例子:$ y- [6 {( O& B: p9 |& K4 ^4 E# M; f
/ C: d6 O, y0 C% o
db.taobao.find( { age: { $ne : 10} } );
2 k4 E# z; x7 ?9 L8 sphp7 查询mongodb方法大全
9 E, r5 O0 [) b+ P2 B8 S6 l- j `$ f; M5 T* p/ x# \
1 `% [+ L9 q6 L) s! G& g
3 M" m/ K2 z9 L; W# n% l' x t) F+ F! V) t) U) u, _
4 K9 c9 o, c9 o- W9 o7 C5 v
& Y7 v% {6 r7 V& y3 a/ q; O* Z
. r; d5 \1 B8 ^& U" ^" k0 X+ K8 b) ?: |
" W" V' C+ ^! j
3 v4 q/ j/ q6 D6 z8 ~' w8 N( A
$ h' q- B' n$ v4 N( z! t( {) X1 N) K. ^' l
|
|