管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
1 W4 @5 [: v& y) U% S! ~! R O6 O# E V" B* K: z
db.getCollection('student').find({'age':{'$gt':'20'}})" `2 Y( R1 ?% P- ~
# [$ K. n0 u- h6 p+ L+ F% x1 Y6 Q5 M, n6 x5 q- X3 r% [
& o, {* a$ Q9 e) I
$lt < (less than )
' d. Z1 N& X% _) n( l- h1 p- r* Z3 i
$lte <= (less than or equal to )3 s# a+ I1 a1 }) b# d
) F9 A$ F8 i$ r h' H) o$gt > (greater than )
5 \. C, l I/ ^3 r) _. R3 }: ]
8 |( D5 H% t1 T9 A. m4 h$gte >= (greater than or equal to)! x1 o5 H o: [9 z, v
4 x$ m+ k' f E: H# h+ `
) }. T+ B' n) v
- z5 |7 P% N$ T# m7 _; A; @$ne != (not equal to)不等于 {'age': {'$ne': 20}}
! J, e( ^) r8 Q7 u" [3 P. t+ Z4 [, f' }! k- Y
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list% O8 b% A- J# K& |4 D
0 r6 p& ?4 ?9 G" ^$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list' B) s+ J; Z) Y y7 w
* n) T9 m6 q Z+ l
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字* H/ [. D$ f/ j- _! ?: |# f5 p
) K5 k. c8 {& Z' Y
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在3 U$ O% ?9 h& `& @1 x5 u
" ^# ?) j! O. p6 e3 k
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int4 R: n& Y0 C. _+ a7 ~ f# q
8 v& A' {9 [' y: R, z6 k
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
g9 W9 M$ Q2 h% D/ u, X) C* x3 U" |
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
3 E. E, G- m7 h2 p" f$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);# ~- a4 o% F) b
, p: e9 \3 a4 R+ j4 P& K& @4 R' c$exists 键是否存在 {finaGoalLine:{'$exists':true}}
3 U1 K$ Z6 T6 t3 @( N) H6 r h1 G5 J8 v( i- e! [! d% s) s) X
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
. e0 ^! t* G% }# O0 j/ z' { b! m! E9 i! [- O) i6 z
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],! |2 a! V& g: u! z% K
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 . m: G* A. K! x/ N$ e
$ a0 G" G' h5 Y9 H! q
0 H! I) g$ S, A" g C8 b/ z
9 _. V8 g0 M; p- P8 T0 z3 V
) s6 p* @. J: \) x0 N- q! g, F
6 U7 w: C3 ?3 C7 ~4 }5 }* N$ s3 a1 q7 U5 `
0 z% f9 `# Y3 h! j# ]* ?
$ u$ _4 O H) {4 W# W组合使用方法如下:6 I1 N$ }3 {) x( m% a
* u( G$ y6 M9 j8 u2 L
db.user.find({"age":{"$gte":18,"$lte":25}})
. w* h/ A/ T1 U* `- A) [
9 Y; j! u, B) W" K- _9 Q0 l) F: W3 n$ f
: H( @ I. \5 i! P8 G4 A: j
对于日期的条件查询方法:9 a# f7 f4 ], l# r# R/ d" t ~3 h
) ~9 v* [6 T: ]4 D4 Cdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})3 r6 j5 S, g/ Z3 g$ g" q
) s4 X6 l1 [5 Y6 a# y4 ^0 S8 n
& F5 o- s7 n& s: s$ J! l2 Z7 S& d; w- j1 a: W
2) 不等于 $ne. W& E' b6 ?' g! V5 k3 A# |; K1 Z
5 N' c2 `. e0 c! o
例子:5 @7 G9 r/ J8 y6 C1 B$ h8 f1 g
% W! D! W8 |. ~; tdb.taobao.find( { age: { $ne : 10} } );
1 f: J ]. j5 Bphp7 查询mongodb方法大全
6 j$ O$ O- R9 _2 ?$ Q0 P+ W, X5 A: M( r/ i0 G9 K9 i, o4 B! `
) {2 s6 ?' k, a5 o4 v3 i
) b0 n5 @) R# u- V# A
- R# ] u5 q4 d: c3 s1 g" m
. T4 u) Z- d" w+ B' a
: r- _ v4 W" T+ t3 u
( p! G) Z2 p/ ]
8 M' J" s9 Q$ b" k5 u& x
; |) C. [) K# g! C- D
$ x* r1 _4 @0 L- |; R$ F) y
7 |! Z8 t- T2 }9 M" p4 E8 c/ h+ V s9 n+ [/ \
|
|