管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
0 U, M9 ]. [/ L1 r( D6 L+ Y9 }7 p* i! M: K7 D9 W9 f! W
db.getCollection('student').find({'age':{'$gt':'20'}})
6 g E: Z9 M( @% x$ }9 V
& U$ i2 U# \5 w( j
9 O- g+ a3 P# C0 `7 `& T, d
# d* W. s+ R. h) b: x% g4 H( o+ h$lt < (less than )
5 f& T9 j- z$ c, q& v
# f, A7 X( }& F' @6 b6 K. F( {) s$lte <= (less than or equal to )/ _ x0 d! w) [) i+ t$ Z
8 k6 \4 r) Z( U5 {0 G
$gt > (greater than )
- D' E5 `; s, A6 |
7 ^8 z2 @ W0 K4 E7 t5 y$gte >= (greater than or equal to)
! M7 p6 ?/ S. @" t0 O6 G# r3 a0 D* H8 c; r. w b! i
- J1 G7 F6 f; e" N: N
: |: u; k, K9 j2 h8 _$ a5 W" n6 A J$ne != (not equal to)不等于 {'age': {'$ne': 20}}
) S1 N/ [: t+ J* ~% @6 ^: |" a+ u3 ?! H
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
8 i' g2 M- o$ } j% C% R8 f2 |6 V1 g! _* y/ K
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
. d; A4 f7 ^! E) n2 I
7 i& \- u! o; A) @$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
$ D9 V& j) R$ o2 ^9 ?% T, T% a2 Z/ F0 a* s
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在5 n& j+ d' R/ X0 B9 p
% ~; w' W( ?0 r5 r1 |
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
5 K0 o( g8 c+ Y
) p6 \) ~" v0 u: C" x0 n& X( |8 X9 t$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
4 z$ O! m" ~6 d+ r8 g; C; |! D3 ~# {! U. h6 k) G+ V0 G g
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})7 _% w' l# L C3 Y1 r; C
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);5 q. P# H6 K, R4 c* w6 R. [
q: g2 ?- a, c+ B1 @0 C" w
$exists 键是否存在 {finaGoalLine:{'$exists':true}}9 Y+ X; h; \* V8 t
, k/ S& S7 d; D; Z+ B/ z( ~1 Q! k$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
6 p- \. D# }( I! x- t: W6 Z+ c" S
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
- t" N9 X. k! M9 ~" x$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 * w* K i. p) P
/ W7 @1 T$ J! H$ K# r, U7 b
) I1 Q2 N' ~/ Y/ Q$ _
1 \6 S* o/ X& \! Q! ]: D& ]8 }. a7 \- f: f ^
4 H, K" O4 w& m; }* _4 N
' T4 \/ Q5 u/ ~9 O$ a; D: Y8 I7 B7 t- u W# q: D/ S
; Q0 S! Z X( r- ]$ D
组合使用方法如下:- h$ }/ c0 F5 p$ p
& b# a5 `9 t/ [7 D- ]0 q! ydb.user.find({"age":{"$gte":18,"$lte":25}})- T" s: \& V5 A% f0 d" e( |, D
# `7 W$ Z$ ~0 t% A' A3 i
c) {- M" q Z. \+ Q
) Y2 e- L) s/ y% I0 @2 O }/ Z对于日期的条件查询方法:
/ M5 o, Y8 L; V. q/ g4 U( V
3 n! L/ ]3 o5 N+ K% r6 D4 u" jdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})3 ?- m4 u8 e1 C% t
: X/ n1 e) n( E. g, E
8 g% ~; Q* W7 j) _8 h- o2 O! C
: J# t) I% h# s/ `. R2 `2) 不等于 $ne- m' v$ E9 s* N* l2 d
, E2 w4 X. t1 F1 z: l8 J: m3 [% T+ ]
例子:* z$ J; T/ J4 U' `. L; _
0 Z' Y+ ^7 B6 [) ^! ^, F* p
db.taobao.find( { age: { $ne : 10} } );$ A& R2 _/ y4 I0 w, L
php7 查询mongodb方法大全$ J+ B6 Z0 v5 q: x
* `, `8 r9 }2 R/ _
( k7 c5 [# b# |/ Z
3 _3 d4 N& v5 g- F" Y$ D
6 U8 N: f8 O0 N8 e" g' d l% X9 K" g; o/ Z. N% \0 f
/ p n8 u% z2 h6 u
; L5 i1 P2 O5 D3 }" Q6 p; G& n0 c8 b; ]% I f$ d% O
: F( C. K! i- L) E& |
" w7 Z% f- D; ?) ^) @0 I% e
$ {2 `. `1 \" p3 O. @* k5 M$ [( z
# l3 v0 [! ]; ]( c6 Q
|
|