管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:. j6 \$ ~! V! c3 K+ d4 `4 T7 n
" ~6 z$ x$ }$ Vdb.getCollection('student').find({'age':{'$gt':'20'}})
4 J0 r# O% M7 l3 Q, t$ H5 o
A( h1 M Z* z
8 u8 ]* z `( m0 [# g- a+ {& f i- C+ r: a! z8 [
$lt < (less than )
% u6 U Z. ~) U/ {3 _2 Q) p- C1 `* }! o' x
$lte <= (less than or equal to )" U0 d% Q" W6 J7 I
8 I) i9 T# ^8 h
$gt > (greater than )
3 Z7 Y# Y9 d5 n7 P3 {$ h
; g/ i/ S* F O- g$gte >= (greater than or equal to). u$ T/ k- Y5 v8 `) P5 _
+ X* r9 L5 l, ]7 r- m9 f S, @( V" W% ~* j! \2 F0 K
3 h' ~" ~. @+ v2 n7 t* R$ k2 I$ne != (not equal to)不等于 {'age': {'$ne': 20}}! K! I4 f9 ^9 B; l
: E% J+ r# H9 e3 C, _( {# i* N7 q
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list& l4 Q1 j& K" f( Z( W% G
4 n% ~1 q) P; M9 Z0 x$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list" x9 W0 K3 A$ z5 ?; r) _
* P |' a7 m4 \* O$ `
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
/ M3 n. K8 N. X; d# _3 k& w# Q; n# R( ?6 K+ U( C0 g
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
8 c% {. ~! @: U+ i8 v! w7 P1 @
: y% P6 H4 w, ~$type 类型判断 {'age': {'$type': 'int'}} age的类型为int3 K) z' Z% ~% ^
{& F0 ^- v! K: G9 q6 E
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
) r1 Y- [8 N+ q2 Z
* x3 f* T" z& Q0 b- `5 D9 j$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})% V1 o+ ]. X/ {8 t. p5 D
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);8 \0 J) D: j2 E! A" F0 a
' Z/ m2 f$ S5 I6 {$ N" K5 V" J& p
$exists 键是否存在 {finaGoalLine:{'$exists':true}}1 L! e. ^# z. ?4 E3 Y9 ? `
4 I+ ?' d" @' a$ Q8 J2 q% f% t- z$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
" E* ~: n6 ^$ [5 n# S1 D" L& s& U/ w8 q* r1 R
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
& v0 N7 O3 N/ O# x5 n) d$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
2 V i, I, {3 P# O, M% o2 x; F) p! H$ S
7 J: j# F4 p M/ b1 w. ^
; J7 h/ H7 m8 u
: p" w9 ^3 V: d$ h. P' \& M9 ~* K8 y
, {8 O2 I* V' V* U/ G9 O( [5 r" [# M! @
) W, a4 f5 `, o) l- d% h$ {. k( L$ y. p+ c
组合使用方法如下:5 [$ s/ X% w3 J
. Z3 p' P3 n* ^& O) L7 udb.user.find({"age":{"$gte":18,"$lte":25}})
z+ f. B2 F# d. E K7 k$ i$ Y- G. H7 b+ j$ F$ g
; n# h: N! M( ~8 @8 z% n+ q
9 M6 s* n9 U( X8 R: a/ i对于日期的条件查询方法:
/ L3 W/ d4 Y: i: f- n- Z( H2 A, s3 H- t. F3 f5 R
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}}), J# D9 Z' o% j7 f) e; Y
! |+ v/ E9 K; C- B
: t) F8 H/ w) J) q) g
8 R6 r8 w( f/ j) [1 Z8 \2) 不等于 $ne
x3 O1 a Z* _8 w1 ?
' q8 S! u( ^3 I. X8 r x例子:
, S+ U; a7 d5 F% t* T% l) b
8 p* }7 b" b4 Z0 y; F* ? F, Idb.taobao.find( { age: { $ne : 10} } );1 Q/ T) ^7 |7 X4 Y6 N
php7 查询mongodb方法大全6 C1 h! H9 }9 U& G+ f# \0 V$ K
# o% s/ I3 @$ L% L$ s j' p0 R2 y$ u. p9 s9 Z0 I* o7 `& I; r
2 j& g1 l5 Y6 k5 b. M p* ~7 W
4 T# d& ]! d: o
2 P5 S" W0 B% U, P" p- e0 ^- m# s# X- Q- C( v% Y4 Y
$ [3 s6 b, M* H0 ]. o }, W" g
" k5 e/ e( p: b8 h
0 T0 p: a3 g0 s! R3 x* k% q# V) R I; W. w
; L$ a! w( r) P" Q/ K) l! t
, l6 E8 U6 F, ?- \6 f |
|