管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
( P' Y' I' J7 k! y" E n
m( S- W9 V' L2 ]" rdb.getCollection('student').find({'age':{'$gt':'20'}})" P6 v% D" M1 }3 w) i- y9 O
4 P' H5 a7 K. T7 W1 p
0 u- f: V/ c, P$ K- k: y6 P0 e I) J7 b( ~
$lt < (less than )$ C- Q6 W. m( _/ W& s8 @4 k
( g& Z( O2 f3 \- y6 O$lte <= (less than or equal to )( ~* l; G- b* d5 a) ~
8 {9 z8 u3 g3 s) p* d6 X9 N- k$ Y
$gt > (greater than )4 V! C* v& }4 T) [, d, X
: D1 g$ y5 v! D$ L! v/ Z& B/ S! X$gte >= (greater than or equal to)
- [* Y5 ]- b8 P# B( Y4 w; g. r# N; o9 o5 |3 b. v5 _: G
$ m: V! } x; C6 u- N8 P7 X* I6 X
! y' `; w, @; |7 s
$ne != (not equal to)不等于 {'age': {'$ne': 20}}1 N( n ^' f* z( o6 E( ~
3 H0 q, |% F1 W: Q
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list4 u" M1 L/ @! V4 o3 N7 a. ]& ^
* w4 \0 C4 f0 M. T, Z$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list/ W9 y4 O9 _9 H# X& K. r
; l0 ~' w4 d# B1 z$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
7 U. m" O: X9 L& m! x1 Z! j' w9 }% w: m) y# s& X) G* A
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在 |2 ]. h% F1 p) ]$ E" d
5 w/ M* c* p% \$ X7 f2 t
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int% J1 C9 a. L) ]! k& w7 Q% ?( @' o
$ t" @! `5 D: F4 p4 Y$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串; r6 c6 t" L3 l, \6 d
; c; O2 J+ k. e9 \4 B* N2 q$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
' a4 _( x* ^* _' Y7 y/ R% q, ]$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);, q' i' O- j: y
, @ I; d% @# U/ e
$exists 键是否存在 {finaGoalLine:{'$exists':true}} |: s2 N1 v9 C1 U5 X+ m2 n9 s( l
3 x+ l* C9 T- ]; J9 Z
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
3 n% s- x& G5 X2 c
: z6 m' Y. P& v& e+ n* N$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],/ R. K* t( }# p. B1 q0 B9 r. _
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
. @" P- }2 H; T- ?) H; ~4 g, I+ m+ m0 P, u# U# I
9 V. H: R9 w! c* g
( V7 o% w0 d# |* b' X( Q- A
x7 ?( u) T$ ?1 e1 W' S+ a1 [+ G( n3 b- |
- o- L% t9 A4 ]- |0 a8 Y7 B
) A8 [) y# J c8 J( [ e5 ^7 ^) a
4 n* |+ O: B* C( y: o" L组合使用方法如下:
: v$ m- V% H9 a* a- r/ X6 b
, \$ g2 v, Y3 f. zdb.user.find({"age":{"$gte":18,"$lte":25}})
; E( {* e& O- q: o! E( d3 Q9 z
8 J4 v% g+ I( g' @0 i8 J: a0 ]" H. O% K- | W# m/ S5 ?- d. G
3 X( [) a# z+ ~: e对于日期的条件查询方法:
6 V" r0 O3 Q& A# t' h* _* k* d) }8 U/ x- v' g" K
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})+ x5 D/ E5 h" J
6 c( n" Q/ I+ J
) a, g, f2 B. @+ L
& Y& y8 F6 s& [
2) 不等于 $ne
- Q. F# x# U( N b& ^# i
4 X+ o1 m* w& P. Y例子:
7 a$ W3 V4 z& ~# n$ ]% R
7 `- ]- }5 _7 V+ `. B# [db.taobao.find( { age: { $ne : 10} } );) f, k1 |6 z! q0 a$ q
php7 查询mongodb方法大全1 z O. w; S J
" W8 g/ A: D' m+ Q; B: `' O
; s# Y. V8 O6 H% E4 W+ G! i y# ^7 K0 z& }1 u
0 P+ |& r$ G7 p/ c, \! [/ N! s: A+ x
" L7 N+ q- V5 Z: ?
! d6 }" a1 e6 E8 K8 O+ @( c
/ b- @1 ^ W& c9 x$ Z1 i! m. L J: V
4 w0 e5 K) H5 o' x8 {. n! F" |6 c3 F! P2 V
6 M$ m# k+ t% m* M' P4 t
3 h/ o! F; H* _8 W7 N) r
|
|