管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
) L r/ s1 [( w4 Y) \+ b) k+ u3 \
& o$ k, b' u6 c, X5 Q) A1 z1 idb.getCollection('student').find({'age':{'$gt':'20'}})
+ B' V' A# a& _1 `1 [# c
$ e. Z; x+ O9 u& s# x6 Y' F1 Q6 Q4 S, M
3 |9 @2 ~ \9 l( l$lt < (less than )
. J2 Q8 r3 o. M: Q0 Y! t9 @ j/ O
& Y( f: Q7 \" ]% f% V$lte <= (less than or equal to )
- ~+ N, s' Z, A% E0 V
4 i" f* s) Z* {$gt > (greater than )
/ Z# U( p) [! \; O% Y0 ?0 g" q3 n/ u9 |3 O; G* I9 x5 O
$gte >= (greater than or equal to)& \& A, y4 B: F7 @
* G; c8 Y, `3 _+ x6 x# b3 d; a% B. v% M5 K
" w4 V( `4 _4 S g- w& x7 w- s% ?# u W$ne != (not equal to)不等于 {'age': {'$ne': 20}}2 V [- k) ]; R% M$ B, a- E& f
7 U: Z' P9 h. q" f' _6 {! F
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list7 }$ @/ a- p8 e9 r: g
+ F& i' |: a$ K9 H
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
6 [" J$ H( H4 F( ?6 o
9 p' a8 Q2 b+ k4 b/ C* F$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字& y9 L3 O4 {/ H7 h. w# B* U
( a4 z5 [- Y$ g$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在' e8 v& ^$ l1 R* Z/ h
" [0 v- H6 a6 F9 N% e3 j& ]' d$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
6 t4 o( A' g ~8 E- b1 U' m
! }0 ?- \( D; ]% r) j$ \- L9 |+ |$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
. M' n4 {9 s& I
+ ^* t6 w* B, Q5 ^7 w$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})3 u+ T1 C: G: U" n0 u
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
3 f" ~+ j+ a2 Z
5 w0 }7 N L, k) Q: Y( j+ a- ^6 c$exists 键是否存在 {finaGoalLine:{'$exists':true}}, J; F9 P3 g9 `
W- S* b! G! H- I F
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
9 u, ~# o* h6 P! `+ ]7 I5 `1 r6 K4 |; F- Q7 x- a+ T9 F
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
" O, `1 b' @" @( U$ u$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 $ T/ C8 a1 Y. D7 H
! h: |; f5 H. e4 ?
5 G; A y1 Y6 e5 W$ w+ I! v
0 M9 p# H& G9 \3 {' R3 i b# o- l/ _: D
( \6 x& {( q: R. G) t' D* X, a- h1 q/ } N
- H6 Q/ _6 [; I& m6 {3 e" e9 L& j4 G
5 G- H$ L. p2 Q& C8 B" I组合使用方法如下:
0 g9 s" G- \* p; U( o5 {4 N ^- T3 C, X0 _+ W& y6 A6 i/ t
db.user.find({"age":{"$gte":18,"$lte":25}})
7 J: O( I( S5 X. a0 {# U6 ]8 N8 o4 q: j) x8 i/ Y6 L
; X. e+ ~/ M( t( s) ~# X1 v# I6 @) ]) c& c f
对于日期的条件查询方法:) k$ C" n2 q) p: d! @
- C! _+ r: D9 D% K# `db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})' ?: E- t' A) u7 o
/ y i: F! `( p1 a0 ]5 J! F
4 ~- `4 z0 f4 W* _& h# D
6 N2 n# _, W5 M2) 不等于 $ne
& h3 o$ ^ l4 f6 f e4 _) @6 a" K, {( S0 R0 n) ^
例子:4 x2 I; ^. i- K% ~; ?' z( K" V
6 \' Y$ a2 T( vdb.taobao.find( { age: { $ne : 10} } );
$ k+ t; I* {- e6 D0 Vphp7 查询mongodb方法大全
4 I% { c1 m5 ~( O( R4 \
8 Z0 `" E8 ]* [, i6 S/ d6 G* y
3 r+ x/ \9 a! R' u2 B4 C
- J7 e/ W; q3 K* K2 w5 |! ?/ j; A" ]+ t0 T. u
6 Q `- r, l/ j3 A) I4 A0 L6 Z; g* ] f. r6 J# @8 j- Z' j
) e: S+ x W1 E1 s( y
5 W% Z9 N0 J6 i5 t' `7 A9 z; _6 X8 F% p7 c( g2 R, a; e
3 {0 h$ @& |8 v4 v4 S. f
8 ]2 G. M: K$ _" y) X9 |( c" z- i9 e |
|