管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
+ z9 h* ?" K$ C3 J+ b4 I, }" a$ L5 i9 z: Y T/ c6 h. z7 R$ [
db.getCollection('student').find({'age':{'$gt':'20'}})' @, C5 f; n) f7 S5 m* ~4 \
, L/ |! L2 e6 H2 ?9 }1 n5 E* m$ a6 }2 j6 j2 D: ^
8 n+ M5 s/ n8 J8 L. p$lt < (less than ), e+ f7 g, |* J- F- e5 q9 p
3 h: V- a$ X( D- r% h: i
$lte <= (less than or equal to )
- n* F' N( h% m! \: m9 i8 V, b% J
$gt > (greater than )
- r# ^+ y$ f i/ U" \) S, H
; @$ z" w' L) P; }% K$gte >= (greater than or equal to)
7 {: @2 @9 q+ [1 g# S$ ^& u
$ L* V) d$ t( P3 U, ~6 u7 c* m; M) _4 u! F4 Y! }$ \7 X& ^
6 e: `' K) e. Q8 c7 u
$ne != (not equal to)不等于 {'age': {'$ne': 20}}3 ~0 M9 u+ V2 X, {! r2 U8 S7 I! z
8 Y$ e7 f% C. @
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list' J1 d3 z* m8 ?9 x" w; V
$ @5 S) y2 j) W, _. \9 ~0 y9 v
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
* r* e Q% u2 }5 q7 e, w" z7 H+ F
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
& Z2 d# F8 e- P7 K& w
4 X9 j' p) u" r/ r0 }$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
( B% V1 `( C e. w1 { Q
+ f2 \1 M) {0 A9 w; ~$type 类型判断 {'age': {'$type': 'int'}} age的类型为int ^$ G. T, q0 ]' P- B0 N) n. O
, W$ c: L. A/ ] j8 k4 K$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串: X7 _: N" `6 I
1 D- b% t' u; Y$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
6 l' g E( C1 ~8 W8 L% Q0 I$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);7 x$ C7 L3 y* `( F3 O' u' b2 c
* m5 h$ L$ n6 C6 [9 x1 `) X
$exists 键是否存在 {finaGoalLine:{'$exists':true}}* N! v; P- _+ Y! Q Z
, D/ i4 s6 ~- t$ b. P
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
4 N9 S' }- p [. j6 ^9 Z6 X. e4 u+ I7 O0 e; k- M6 R
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
7 R( I0 L6 I( d4 R a7 c \' X$ f& V$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ; R2 i& y8 E3 T+ c, i$ b5 G
$ s, l! ] Z$ {/ C' W# _5 r
$ m- M: ^# ^, k' ]) a5 n4 O
% e- |) l9 W, l4 L" S _2 ]7 l4 L
, t5 L, c- a' w) M* [: U2 m! b
5 o3 ]6 i7 t9 m0 `
, A/ ~/ G# a o9 C& c3 e; P
0 S! Y& I B9 Y7 B# f3 C/ M组合使用方法如下:/ O9 F6 |& l, k4 Y5 R
7 m( d' o. [6 ?; H3 n* Cdb.user.find({"age":{"$gte":18,"$lte":25}})
1 ~3 y; ?4 @9 @7 P! f; k+ b& \
9 t1 }$ y. T5 Z4 t2 j
0 w* i" {1 W) [) J& I) i7 X; t
1 s* k4 f" R' W对于日期的条件查询方法:8 X5 U3 d( C5 @4 O: C8 B
# k% @% w3 n5 }
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
! `8 a+ y8 q0 T, A; K, w) m5 p7 }% u7 p
! k# F: b% L- g4 d. N
2 z. @! u! _% O9 d0 h% ^+ o2) 不等于 $ne
; N' L. r D- X" A: p# R7 m# h8 ^1 S' c- e- i6 d
例子:# }+ L& G( s) F$ Z; r
, L* x$ Q& U% Q' U, Y4 {& edb.taobao.find( { age: { $ne : 10} } );. }1 M/ f+ U( @( t2 f5 @, f( q& O4 F
php7 查询mongodb方法大全
. F# G2 \+ ?5 ~. a% i2 b3 c7 C5 z# X2 [% r
( A' ^" T5 x$ |! g9 X6 X4 J; ]. H
' G+ t% u, x9 ~# }0 y8 D
; G8 |! _+ G' |8 G* t. k* n
) J. {' g9 n% }
C- a% i9 j c* W/ O7 L. D& N- ?( c: a8 E+ d6 z/ k' ]
: U2 h3 z* o8 z: R& L k# A- P& c) H/ L
" I" n' C* T1 n4 v+ A6 P
; b. I- h. l( E( N/ @9 T
& o% l( a. G* b0 e: i; W5 E
|
|