管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
9 K) Q& C {, u# l; Y t( S- p% x% P1 l
db.getCollection('student').find({'age':{'$gt':'20'}})9 s }% G! h# S5 r5 Y% M
( S2 S; O" U8 x- c$ b
3 w1 a2 X/ @5 {# O: N9 C8 p6 D% B
$lt < (less than )0 c% O9 d& J) }8 W+ o5 k
% \* \8 w. A) N! q2 P
$lte <= (less than or equal to )
+ N' J8 F% {' a! d7 i( F+ ]5 j4 M3 S" s! w4 P0 e3 B E+ h+ i
$gt > (greater than )# ~' X( Z6 n( {3 g2 {
( k; V* h: C, W* U1 h
$gte >= (greater than or equal to)- Q: x' U7 O- k- d0 { m
- H# f4 V8 n5 L2 R6 \
- t4 @6 U, b3 n2 ~8 x T
8 u ~9 `+ t2 E+ z. P1 a$ { `; M$ne != (not equal to)不等于 {'age': {'$ne': 20}}; S# U- e5 r" d
; x2 l/ [: ?8 t9 b$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
1 K4 J" l( c6 I$ y4 X) O+ `' n. P: _" y' D: }
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list: T8 i* H7 {1 ]- [4 g
5 a) `0 f) @/ D2 A' l0 i' ?
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
) k$ |0 W. j$ [2 t6 U% @
" u3 }" L: F1 V$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在# }% Y3 S; l2 u6 M5 F$ s
5 y6 x1 F! r. ^* b" v' k$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
N) {3 r0 n, S. J2 } X! Z2 i) A3 [' ~
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
9 Z0 f+ E: K1 G8 A: ~# b; |1 W$ l1 o/ l7 N8 f \
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
8 w3 J) r' n3 a$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
/ z% b1 h, ?+ |2 R0 O C* ~0 }7 Z8 _) k% n' H' f& S
$exists 键是否存在 {finaGoalLine:{'$exists':true}}. ^1 s$ J2 o! G* `. I7 l x- x0 G9 G1 s
, O2 f9 i- @1 S, O$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]4 B: n& }& [: J5 _' m
% a& ?% x. s! P4 o' d) {
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
/ ~' X: E2 [0 F5 m9 w+ n$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 * {$ V2 p4 n+ O- S, p
E, J, u* b" v/ m9 M, A# ^6 s3 T1 F0 d; O/ K( C2 d% T
; f! N5 W/ m6 X% O/ j
" i+ |3 ?! J" Z3 i; z, ?
" k( a4 a, J* y: ?! w& u" e; l* b$ Y7 j2 l* F
! {+ N" L4 o0 x5 N: J7 K
7 Z7 c% _# O! U7 n' W组合使用方法如下:
2 f& w+ H. ^/ T4 |2 x2 X4 [5 f$ T d* R& f" b
db.user.find({"age":{"$gte":18,"$lte":25}})
1 P+ k7 Q" W0 u* o x. w( S# t7 B$ Z* S' n7 |, x
& Y& l2 G% T* i: }
, j4 @7 j& `, S, m0 J0 a- {/ Z
对于日期的条件查询方法:7 R; d4 M& P* a$ Q# a, V# x$ [& K
* s( j7 Q( W+ W) Z
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})9 x0 y; A, f8 e# d: x9 G$ b/ w
( q$ R' g; G; h! a& @
! G- _2 |- k5 q/ Z0 L: u9 x [4 F0 G9 a+ d( { o' G4 F
2) 不等于 $ne
! L2 d }& ^, `5 @$ V
/ x( T% U0 {! `- i* ? g, ~例子:3 G# H/ H* a/ \: |
0 I% h: |6 _- }0 B: Ydb.taobao.find( { age: { $ne : 10} } );
$ T5 ]9 o& u8 kphp7 查询mongodb方法大全, }1 _) w3 @/ P1 c. Z) ^* O
% t" y5 |. W. b3 H. Y: |1 N
: i; J' ~ R( a8 j# P) ~/ t( c7 c' x0 J9 W9 i
8 Y) v- k" Q# j7 A: w
" X( J, S% `* J' o8 [
( b7 \7 b9 b8 b& v' Q4 S
5 o, N0 D' g$ d8 [4 x4 L4 C+ S3 x: Q( C% v
2 \6 s2 B/ E7 Z9 @$ [1 r
+ y; |" U3 J% y+ N
" C. \; l% j& [* B
2 W' p- s3 v$ [+ y4 L |
|