管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
" V: h" L8 ?) `! }$ \
$ j: ]% B% w0 v1 i4 n) _# p1 y& Ddb.getCollection('student').find({'age':{'$gt':'20'}})- O8 d3 W* F. T! |& v
$ `! m7 g+ h6 o
' f( K7 r. E6 ^* S* f5 E2 u( b! U
$lt < (less than )
$ B# f' l0 X3 ^ {% g7 _ l5 W- o% F: U0 ^% q
$lte <= (less than or equal to )" \1 Z- m. a2 |2 I2 i! R; f4 E0 w1 N
5 h* P0 T' ~- r& V. W$gt > (greater than )' ]" @( A7 Q7 z4 x+ I, d0 o$ o* i
9 S h2 n- O0 r! b b8 X0 _6 [$gte >= (greater than or equal to)+ H6 ~9 c+ d2 W& Z
) x7 N. f; H) h; g+ e. `* x
3 s( Q8 g8 a" b+ Q5 u9 e0 Y
2 u1 a/ s. |$ ~: F% `, O9 i
$ne != (not equal to)不等于 {'age': {'$ne': 20}}. ^, [. D2 }% [$ g, E/ o
, \6 h+ }7 U! g% W# a* B: A( M6 i$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list b& R7 z3 k1 L- \: {# f
1 ?: E6 V/ T9 B" k) g$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list9 Z4 X, B& L6 z% L6 @* L& m" D
) [0 B9 G3 w$ L7 v' X& x+ v
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字6 h m8 ]4 @. r6 I# n9 S
U- f& {* J! g" @& }" |1 J5 {0 |* a
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在9 l! k8 K! E/ ?. \8 B* ^
: L% ^7 h& M7 K8 O5 L
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
( S- C( D1 B i1 |4 H% j9 O1 h1 x4 [; T& V* p: i* k$ C& W: K$ B& o
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串/ a- X3 M+ @% k
+ P' B) U) Z6 V4 T$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})+ d# O; P; ~/ R3 P2 _
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);4 m/ W" o k0 c5 Z+ f+ G
2 _. e/ ]1 k+ F9 l$exists 键是否存在 {finaGoalLine:{'$exists':true}}
6 }- {+ F! F8 `( ]* p+ b
9 i8 Q S- s" Y; O% S! x$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
4 O! K- q, n+ }# N1 t0 Z1 t$ q) H% p
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
3 C6 F2 r* d: E A* z4 a, X$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 + w3 e) e. \5 B1 M* k& v
- m/ z1 ~- k6 V6 [0 T+ z* E" p# N3 {: ]. o
% `; t0 s& B! A1 ]
2 p4 D$ M4 K# ~/ \3 P- r
. D: Q9 \5 ]' y- n# U. b q, l+ ~: B0 Q
* Z4 ~# f" Q. f4 H1 ^1 P
$ y2 I8 @( s1 g
组合使用方法如下:. P d& I" q, ]5 m3 C* B, _
5 O! H& Z, g& u, r- Ydb.user.find({"age":{"$gte":18,"$lte":25}}) k7 o3 m2 k R) f% Q, e3 B
; m- f4 ]% e2 ]( U( J# [6 }: N
5 ~) C4 J$ s1 S8 Z% p. p. F$ v
1 W3 i; p9 F0 I6 H: v1 X% K对于日期的条件查询方法:
. I( x. X9 w5 |, \1 b: Q& X0 }5 @% G; r8 [: |0 ?
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})& F u: m; x0 |4 z; {. O0 g
( W2 e) W4 h5 Z8 s/ _3 s/ y! e# R+ J Y: x1 c
6 Q( x4 B" P4 t* O* n2) 不等于 $ne
' a1 y7 S7 I" ~; \2 [% G7 \# k) q3 m/ s9 h
例子:* s3 a' x! n4 s" c
& ?0 P3 |! W) F1 M, }! W) X
db.taobao.find( { age: { $ne : 10} } );6 a1 n& g8 ~. j3 W3 g( {
php7 查询mongodb方法大全 K Y; x- u) s8 Z" n
6 A5 B) v0 w" Y9 c. K" g8 w
; Q$ s1 L2 F) H% o4 R {# N5 H( r( K" x. i J+ N
% m+ F! m; H4 d3 T) [ s: [9 {
. z% i3 ]: N4 F$ \2 V/ N7 K
, X9 F" ~ F4 I/ l9 h7 l* K
" f$ u) `4 l( x4 Q: B! ^3 i* j. m% v% [9 f
$ X- R0 V, \0 N5 {& f* S! E0 p5 T8 S
* k2 ]# ]# R5 C0 s# Y4 m' E
; U6 o9 `4 u9 y' w# f6 B |
|