管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
4 A3 Y: Y* a( e/ B" I% \6 G
# x& E4 T1 Q* n9 P/ Y9 g- v8 \7 Tdb.getCollection('student').find({'age':{'$gt':'20'}})# @/ ~. `2 |& X" G3 h3 ]8 Q" e' ]
7 ]; \. C$ ]6 V! ]
4 n3 S s# p" S" A
1 ]8 y* n8 p5 _8 }& O: \
$lt < (less than )
f- @# `' a% {; \8 ]& V, i5 F8 e# ~. u1 q8 ^4 ] `
$lte <= (less than or equal to )
; A; q+ m, d+ U* R: s D# f; ]5 {7 B# ?! Q
$gt > (greater than )7 U/ S$ S# u$ `. J/ c7 s
6 U4 W1 g3 R/ F) y8 m$gte >= (greater than or equal to)% L% o( q9 A5 L1 G% M
! p2 T- S4 V0 t0 n! u$ ^- }3 m) u; j; Q5 U) J0 ?# W: V
]7 n" J0 U0 ^2 V
$ne != (not equal to)不等于 {'age': {'$ne': 20}}; T( m* C) Y0 h1 r# [! f5 B
8 e& B" {9 S4 n% k" x' v, O$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
* ^+ V, b* w1 z, ]
* b+ g6 `$ k3 h4 @$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
6 L( _: ?. ?. z$ D
+ T7 R+ X. J* X: k j$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
1 m+ |/ t0 c6 K+ Y
% g# G: f2 g& n( W$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
0 Z- m2 C4 h) D8 f7 g& V
9 M7 r8 J, | g) N$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
# [7 R3 i* [0 T! h$ x$ e1 P% K2 M) ~2 w1 {2 A( Z3 h3 m
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
; T* _ R3 o( |/ Y& h C- k/ \4 r* y5 {+ X: P; C2 v
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})! w; ^7 S* H, ]0 n
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);, a8 T$ r3 r% P- a" j! j# p* s
# {& s u2 G$ S$ j4 {7 @: I" V: A
$exists 键是否存在 {finaGoalLine:{'$exists':true}}( ~$ M2 V2 b' j5 G3 H
) S* `* o: [9 C$ i' f$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]* s8 o% m; C, U
: o* j' c1 d( |2 r8 n: n. z) m- r$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
7 r1 Y& R. e/ Z$ B; b+ V$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ! H9 ~. `" G3 J0 }# d3 q. x
% h, _9 a$ i3 k( V3 l1 ^
a" P0 E0 F$ G7 c
) e# P* z3 p* W2 \4 ?3 N
1 B) Q3 Q: g- E, T3 s6 t
) H9 t/ [* D% h: }8 \1 y4 U, V. R- ?3 X2 D1 D+ B
7 b- \* A, b L) e. T% X0 P4 ]5 F9 J( `$ U$ \
组合使用方法如下:: z4 I4 J+ H. z8 {
( g& G' |% C" ~" Q7 Q! \8 I
db.user.find({"age":{"$gte":18,"$lte":25}})
5 o$ f. Z) O- W+ O3 A! o$ ~, ~8 |( W
# ~! x7 A3 L4 ?+ N7 s) f3 `
, |" X3 D$ e/ N: _
对于日期的条件查询方法:
( _! W! L4 M7 Y% [9 N$ J& G+ W" A. a+ e6 ]2 ~
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
) m" K B8 J- _
- B* m: u" Y' {3 D. p
* [2 e. w6 t5 \3 E3 h8 ?8 h8 U$ D7 }9 o5 t, b( h
2) 不等于 $ne f x! `7 T# n8 d) \' l
# Z( |& u, _$ G" v) ~0 O
例子:: t5 n2 V i! d# T
6 t( i0 {3 U/ R# k E# Q6 Ndb.taobao.find( { age: { $ne : 10} } );1 [+ w4 e& i9 e
php7 查询mongodb方法大全9 N2 f! O! J4 Y) s+ L
" q+ d1 n! K. I% L' g7 p
9 x' o) C: T! a$ q+ y
' q5 S) z X) c g& t( n8 X+ D
9 t# K/ }: a0 v) M
7 g) L& e) q5 F) `3 c+ h" ^# F5 B8 Z
x: t) J1 ~) _6 C
) h/ P# R6 L. M& Q1 A
/ {7 U. e* g# j ~, O8 o, u5 \2 l3 Z7 k2 e! G6 G
$ W. ~+ c) N5 e3 b% T% j/ b
6 U1 n8 \0 ~3 J
|
|