管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:; M! f X" U- Z% g! w+ U! n
' {8 M+ H( s$ H/ ~db.getCollection('student').find({'age':{'$gt':'20'}})8 A9 [* G' u1 Q1 q6 T% N$ B. _& P
# F3 p+ a. e- Y4 V# Y6 x. w: k1 P
! v* u0 i* v, p2 I3 _3 g/ C
. b/ N( K1 q/ A0 n
$lt < (less than )
7 N& _ G" k( A4 o/ N/ d" R1 o2 w
! Y8 u3 R$ `+ N. `8 R$lte <= (less than or equal to ) }% j) q$ J6 X8 _; P8 h* G
! n0 d5 J1 Z9 f; Y+ F# l$gt > (greater than )
: X1 }% R. F: y7 t* P, N: T
+ c: }& @- W1 L- E! Z; Y$gte >= (greater than or equal to)1 s9 d$ \. D' w3 T' Y2 v7 f
+ c6 e' z6 S( J3 {1 X& B* m) z/ X" X* |
2 L6 m: I) k7 {
, g! I$ ]7 W: I6 {1 f
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
?4 l' X) Q- C. ?4 h/ c3 [
7 _9 q% V* B4 l$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
~$ |$ i$ E( S3 L, k: C( G; f6 g: A
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
$ c2 g; n% ?) T( F5 [4 @2 d0 [% |# w# C& L! y4 g- Z, @; b
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字. Z9 ~% t! I3 ` ~' d
3 S% l! U+ I% c; Y
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
/ G+ \' ?+ q$ i+ _
6 h: J6 Q, T h0 z1 s% U) v- R$type 类型判断 {'age': {'$type': 'int'}} age的类型为int0 x% }4 p0 \& ^: y/ [2 @* f/ m
! E/ Z5 P$ b# B: c* n* {9 }$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
: H; E; ?" {& ~, b
/ @3 [2 W) n( w) j3 {" k$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
+ |# {/ M7 l# X$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);8 y; X7 N; \2 ]5 [
- q V( P/ r9 L+ w/ t
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
0 [# w2 Q- s n4 Q' {
: r' Z, E5 u' ?4 w. p0 x/ K! T3 z$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
9 e m' S) ^- H6 O6 d6 M1 `5 n, ^* t" v, s+ ]2 n, @2 d
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],. u" Z$ r6 E4 m7 Q8 @
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 3 M; }8 f4 h- d7 d; ^
m9 G: X D9 Z: G3 u2 E# G( m7 _* A
5 q- B# A+ P7 g2 M
: Q* P. V: t; j6 U2 A/ Z8 M- [
: K5 a4 h3 h7 |. n7 |
. ~1 a s+ |0 h/ L' k6 v; ]
; @: t. f7 j# _' X! C- d
) L0 Y) a9 D7 l, X* m组合使用方法如下:5 R6 J+ h& B- X) m
7 v9 a9 [, w ]* ndb.user.find({"age":{"$gte":18,"$lte":25}})* T, r# a) S, ?) x* X3 E- P; _
* {3 V! r1 d3 Q+ ?& O: r Z4 o# `' e2 R- t7 f
0 l8 _! _ u7 V
对于日期的条件查询方法:/ `; r' q* M3 Z* `5 T- v) N5 i; T+ H: M3 j
3 L& L- B' n' x F4 ~2 Vdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})$ k* r6 h% B, k# q" {) a, f
/ [' w5 [ T( Y* ?
' B0 u$ d2 o# W/ A, _- G. Q/ D/ [* S: j$ I5 Y- X( n( M
2) 不等于 $ne
/ H X2 `9 X! K6 ^& X' e
4 u& N3 X& E- h' `0 S( m; ~" S例子:
# p" K; k) P6 B+ f# m
: {, L9 D$ R+ S$ E+ H: ~4 q# odb.taobao.find( { age: { $ne : 10} } );3 C0 E# c. \ K$ L( S/ E" P/ k
php7 查询mongodb方法大全
" L5 [0 k+ e8 L& f' L# h
3 S% b( P1 E" e( |6 k
X: q& A! N2 q" a* }/ ?; Q i$ o( A* R; |2 F2 W! u
) ^" M4 P# w5 {9 f$ W+ p0 b' q4 h |
+ S1 [5 l6 p; T
( p8 D( B4 m+ }# N8 m3 G7 f
! g1 N/ v B6 ~: k& J# h$ s
1 B+ t6 h; j* }$ H
! y3 R1 J2 H; c L# `9 A6 p* m9 V+ A% ?2 _" r" z
4 s5 A; Y3 z4 G( h |
|