管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:3 m8 G X: o( ]8 U
$ c% o: g0 a% o6 `4 T# ~2 z9 W
db.getCollection('student').find({'age':{'$gt':'20'}})) Q1 k' N8 ?: \1 i) @+ o
9 A C. \9 t5 b% _7 E8 a X1 c
" h2 N$ Y1 z- E
) q6 v- E( B6 l" ?. U' H8 u) J/ u1 y$lt < (less than )
; o* V2 |; g; H% N' {( v. p: O# \* d5 b% W/ P* g8 Q* j, c6 F
$lte <= (less than or equal to )
; d+ Q" b j. E2 o) o, \: H, s8 g$ Q% n2 R# V
$gt > (greater than )
7 }3 U0 B2 U/ I8 d/ y! [6 c; ^& H+ l# v0 c/ x p) ]0 q
$gte >= (greater than or equal to)
* t5 ^4 m; r7 @& B# o% y7 m2 K3 C
) t4 j: p6 |) \( W4 u& J6 J5 h! ^9 L6 F# Q$ y1 U- [
5 Q- |2 ~3 I/ l, X! {; _; [/ c1 S
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
/ \) A" u6 F7 D9 D8 O( E" ?* C% ~/ {
6 _+ J- Y2 v6 B% q/ b% G7 M: J$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
( {" a% Z9 a2 D8 Z+ L, ]
7 k, l) T8 k7 l7 L, G$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
9 a; a; t8 k1 K
4 }( Q$ O. ~0 O. e' X' @$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
0 a% J% u8 \5 K0 a; e8 k3 p, P/ T! C' m
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
0 C9 l4 o O% }- ]
+ X M$ n8 L6 {' e# n$type 类型判断 {'age': {'$type': 'int'}} age的类型为int# @6 M5 g( Z3 d
5 r4 x1 T. M& U: D$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
) r1 I2 Z5 p) [& m( ?7 O" b' M. |& f9 ~# C
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]}), D* S! S3 Z) f. ^: k, h
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);$ z' _7 ?, ~- P( H5 K+ w, h# K
0 K, U- c' h4 Y* d; d* G+ x
$exists 键是否存在 {finaGoalLine:{'$exists':true}}! H4 U- q( l- g7 V& n" e
) {1 C' d! D k- \* S0 e$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
) ^8 ~7 V$ H6 ?
! H. H9 K; J5 p2 m% t4 Q$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],1 |9 M) y+ @% d5 `
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 3 u" ^2 D$ B: L5 U3 P4 F/ Z1 F
0 P* f& W- M! e) P# G. T$ I- X! H
( z: V# U; D4 ^4 |8 d9 a. Q
2 G/ a" H4 H, d2 f, B5 d( ^0 l+ y+ E( K. E& ^; d: G+ M E
5 x" @. U0 Z/ k( @
% P) F! {+ h% \
0 `) u6 d, K2 ]$ _; g4 W1 }0 A) C% b
组合使用方法如下:& B0 Z5 M+ B" V7 n9 |8 z
2 T$ |4 _" F( K) v [
db.user.find({"age":{"$gte":18,"$lte":25}})
! h2 ^6 {! |2 e' a) D% d
. `& t5 z! ]6 x, ?! v
. L3 |. w: s* }" f* H, G5 v, }5 h1 R# u+ O! C% A0 ~
对于日期的条件查询方法: w" Q, B; e# J. r/ j& @2 i) H
" b8 w" N0 @) l4 k) e2 Qdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})& a( T& s' w: @# q- m3 t6 o+ Z
1 V9 G9 V* }& d$ r* o
1 F& ~. G/ r) u6 n0 d, W8 q
" b5 P& R7 q& K8 f' m, v2) 不等于 $ne& b* R- @6 m/ B) Z) V
$ J( A! D) s2 ^例子:
% M2 ]5 ^9 g8 d+ W
- _- V! A. M% k5 Z" t+ rdb.taobao.find( { age: { $ne : 10} } );( K7 H A3 G m& Q( I* \. {( u
php7 查询mongodb方法大全
9 B1 O$ Y- U3 w0 d+ m6 H) X' ^) [. ^7 P& A
& k- k$ X, [9 w/ T
h- P( J9 M; j9 a; q0 g7 a, Q, O' @1 X6 j
- P! z+ i. N1 n9 S& L
( m9 ^+ k6 [3 {
8 Y2 B+ w/ E9 V2 g" F" a8 R7 G. W4 r; k9 j: b
7 ^* G) r2 J8 Q, L1 @. l
, ?: c C6 [3 m6 {+ [1 @& ` Q8 I @& H7 E
" `8 S% {: g+ X) E4 \
|
|