管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
% L7 c" r% k5 l# J& A. |7 h0 m! ~* L$ m9 g% Q# f2 c
db.getCollection('student').find({'age':{'$gt':'20'}})
: J9 E. Z3 M6 V7 v9 D* \% h) Q) U& l; w2 u+ \9 t3 t
, i, z7 n, i4 o2 [( O' a5 L; k8 Q, c, Q6 l/ p
$lt < (less than )
- k$ X1 k9 M, W' R; M- j0 q7 c, j, D4 i
$lte <= (less than or equal to )
0 Y7 J6 D( t' [; e* M% w3 \7 |
" R/ K4 u, u0 p( d {$gt > (greater than )
# L; S3 m4 p: K, c% q6 @0 G( {0 U1 w$ E1 l
$gte >= (greater than or equal to)
" k, I, L8 `6 s! H+ {+ ?, v4 a# g o. R8 D
) ` h4 e" [( d7 d# G J/ l
8 w& u0 }5 O9 L9 i O
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
8 O: @" H- Z/ Y
6 w# x9 C2 G) P% s$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
9 @* _& \% R* |/ ?
) }& P( H: Z! S) M$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
5 J$ d% s: k5 ~' ^ }1 c1 d9 W, |: k) l
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
Q. w% j* c" L: A* c% Y# k [' b4 c; S$ L. o/ G
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
- t& Y( H+ S# f% C$ R6 O, g# L- n; ^+ T% M4 m+ Z" e4 I+ s
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
3 X5 w7 W1 b! m; b1 N! \$ m! l& O+ O1 M
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
/ D% I; X, M" q5 r$ h" L7 b- A* ]# J9 R5 ?8 s# G( G" ^
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
, @) d* r7 m+ |# o B( v6 K$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);, h3 i" O' k O3 x$ ^. [0 M& _
/ F% U$ v8 @8 x: b+ Q; |/ ~$exists 键是否存在 {finaGoalLine:{'$exists':true}}6 E* k( }3 _# D4 ?/ J$ @- v
g. q+ T' ~" N* D
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]3 D1 Y% n$ H. H3 j& t* C
7 m1 D H" S' n: L/ q' z' K" S$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
6 I* W# r! O+ u `$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
' {. x: t1 ?; U- l, H6 Q6 [2 L7 {3 b% ]
5 B# p9 q9 V/ b: x& z' J3 d7 k# ~6 e4 U
' {$ Y7 |0 s$ e d) ^' z9 V1 p1 E
% J/ f2 J& A3 v: O/ u( G3 w/ l D6 b+ x, |% q, Q
" v# F& e7 I' G! i+ U# ~0 _0 s
* C& i4 J6 L/ b5 S N5 o组合使用方法如下:" c H1 J2 k1 L
Y) `! v6 a6 |/ w7 Q3 j
db.user.find({"age":{"$gte":18,"$lte":25}})
" u, w' ?2 I4 M g% x2 b
% F; \8 h1 Y% \ r+ X
8 |: }# i7 g* i4 }( O9 ]
: s9 U! d) K' j1 S- |: H对于日期的条件查询方法:& S O, ]* D+ L) b! G& J3 g- ^
5 A3 { L+ j1 W Y2 R" i
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
; W( }4 Z. A! ~- c5 s# L# g* K: ^; m$ X: `9 ?- `0 `
' M- X, R8 j! e2 y* J1 Y& E
8 L7 N" T) m& V: w5 [2) 不等于 $ne
# ]4 a) n3 T7 O$ b A- N" ^/ u1 @- ^: O4 u% \
例子:, i/ C( `3 _5 Q
4 a; a' b1 f/ K+ [! |& k0 `db.taobao.find( { age: { $ne : 10} } );
/ R T3 Z4 {3 g! e3 I& ~; Y, s, ?php7 查询mongodb方法大全! i; |. L# H- }- o8 {$ v4 r+ {
' Q( h& W4 @% q1 j6 w* W8 ?4 O& g5 Y+ O
w3 Y ]/ f7 w# n
& y" G% q0 J" t! I) I9 ]) a9 E9 j3 _; \) A. X0 \4 L
. d/ L7 [1 V3 I+ a
4 {. F8 ^9 M" W9 o; e
& x; o, D5 w2 U6 ?. y3 q
9 g2 r, F' a/ X& s+ I
0 `/ V& i+ q* j% M, f, p8 W
! k: \7 Z- {; E n7 s+ u) F% ~2 `* f8 U2 ]( `) Y# l
|
|