管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
# g; w4 q( U9 Q1 _) `
# @1 l0 [; s4 q+ N9 j' }" hdb.getCollection('student').find({'age':{'$gt':'20'}})
( ?' ?' R2 e) R, {8 h, n# L) c$ ?! X; R; E+ ^! Z5 D* |+ J
2 h+ i% E% `. i! r. _
( ^" h- g" I/ w1 W$lt < (less than )
& w a8 n) J. H- B* M; |
# {$ o4 p- V; q. `! S$lte <= (less than or equal to )0 ?* i* H2 j* ]! `
# b+ r" q' x" }+ i$gt > (greater than )9 J5 f+ V5 ?7 Q# D
9 {! G( {' }& P) I6 w( t/ v8 U
$gte >= (greater than or equal to)( p# {# W- ?4 ^1 b9 t; J* B% ?* e
% u- w" i" ~! r u+ @
, V5 X! z, a7 G& ]% b) e9 R! G: Z3 s% }
$ne != (not equal to)不等于 {'age': {'$ne': 20}}( _) ~2 B+ F+ I+ |& u) ~
\9 }4 r! C% G V) r/ K! ]
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list* q% ] Q' o5 f/ v( i8 v
+ Z+ ?1 Q1 w6 w$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
2 k* q/ ]1 e( I* C6 g* s5 c r! O8 L! }% D( z% R+ M$ R$ a
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字4 T! }7 f# g) \" ^; G
0 J! D: s/ l7 l, @6 A6 T$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
l" F, l' o4 F& X' r9 q% W& C8 _8 q
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
5 z7 K+ p0 A7 ^: x3 ~: ^( V
" \' M& V x' {. h2 x$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
1 G5 y& U- b1 n' h" j4 e
4 x$ j1 R" ~! `8 ^3 z# B) Z" ?) i$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})) l9 g4 f& O8 I$ H: R: w: Q
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
- T7 |1 A" \0 R
! F; X( R1 q4 u3 E$exists 键是否存在 {finaGoalLine:{'$exists':true}}
: H, v- t$ V+ N! r( v3 Z4 \8 ^/ i' I* N! M# x2 w
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]" u5 ]8 w$ C) E' V
; I& W5 ~) J& Z7 r7 X$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],/ E. k, i2 k% J
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
5 r7 Y- E; X, B" c4 k( v' I9 j+ h# K0 ]) H5 r' d" E
+ z) ^0 g3 |5 R( U
" ?4 R- P% E9 Y! e
5 }% Y6 D, F7 i5 H# I: y s8 M! m E6 Z
% I0 P9 p! d3 q' d2 q
2 l7 R, q# e! x, q; K* q* ]- t
% A* I- z& }* Z组合使用方法如下:
( P& y9 M( b1 q/ b
5 B1 s. U3 N+ z. k. T9 q. @/ g4 @db.user.find({"age":{"$gte":18,"$lte":25}})
: X, C4 z4 {$ R6 U5 h' d! C7 n; K! F. ]* i4 K/ @
5 y% F& V; `% d: H
0 z. n" N/ J h3 x1 ^* F. H+ ^
对于日期的条件查询方法:
( R; B$ N( g3 h, h
; A! `* ?, \* J( k& k5 @db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})* j7 |7 t* O6 z- K5 J8 n! Y
* u7 l2 B0 [" o% I, z# s
x0 a1 {: R0 z+ c# q$ f
% _* N7 n, ^! f+ {1 `2) 不等于 $ne' } O3 y, a5 f3 k9 v8 {- E0 W
' `# q, j5 ~( w7 q8 W6 S% b. H例子:
E F( T/ s- J% Q( u4 i
* k8 [ p+ D' F5 I1 U1 e4 [0 s# odb.taobao.find( { age: { $ne : 10} } );
" _- L& w w- u5 ^php7 查询mongodb方法大全
; I+ [5 E- }/ W @5 c4 l/ B7 v) [) r9 G. x4 F$ C& W: z& }
6 @( b& Y! e3 g2 S' I: w
" e1 I" g+ a/ G* e
. V# `# f2 S# T5 H3 q G% F g0 _+ c7 t q* M3 @
1 L+ [: U- D9 d' E7 v# c5 i6 d* z: `0 ] Z
' e$ e' t, e- Y+ L9 s: m$ |
( ? d4 h+ s/ G6 u9 M% B
0 `+ `' x7 M1 U
7 n0 A3 T, U' S1 O! U& m; G; @2 w# ~. d' R
|
|