管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
+ G, Y8 C5 u Y& p
* \) K9 J5 U* E: gdb.getCollection('student').find({'age':{'$gt':'20'}})
: ^) m. H, r9 d) P* E7 p/ I
. u" v; ] b: ?0 M. Q, \- N5 R0 l) G* A0 t: D
' o1 [$ h; l3 ^. V; j
$lt < (less than )- H/ U, n- ^* I" T* ^4 J) _
! h. \' s" f0 h8 E9 k+ X8 Z" v$lte <= (less than or equal to )
% B. c) P! L3 ]- I1 {" F7 j: @
1 Y2 _6 x' Z+ l+ @: B$gt > (greater than )/ W. W7 r: T# a% Y* t
, h9 J1 O0 F* \& c# V& }, ^$gte >= (greater than or equal to)6 {, n% f$ X: P3 @, @; p
9 [% @+ u0 J- X( o- d! D5 u
$ h9 a. \" {3 u: T M
* |" R! P% E6 [4 \/ W1 N8 \
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
0 Z0 U$ K4 d1 [: j% _) T2 T
0 r$ l$ v, [( T+ U$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
2 Z* _$ h4 M, {- q* F& G0 u
: K6 W. s) x* L$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list; m- r t: a7 T1 M2 M
) M7 W5 G- T5 A1 I# l0 N( f( U$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
2 g- O( J; M* w6 B& D; U8 [: S0 Z; u# \9 m! Q6 o' I
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在# W, Y7 K: \4 A- Q$ y$ |
9 v+ B n) y0 O2 @$ ^# S
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int Q' |9 B2 T+ G! x% ] ^
+ J& ^3 l- s8 K4 Y m; V
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串+ P" A9 }7 X8 }0 a. l
4 A1 o+ Y" X6 `4 M) E5 {7 f9 p, v
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})0 b, L h& P. p/ a; @. T
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);: Q2 n4 `0 S# c3 k) W
+ c1 x: |2 q: b; D$exists 键是否存在 {finaGoalLine:{'$exists':true}}
8 K' h1 \4 {$ s/ f/ S* |2 n
+ ?4 B6 z3 i1 |3 h$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]$ g% J+ K3 a% n. P# R' n
0 B& j( ^+ t% g) ] k) p$ R- l$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
! t, b3 V2 n+ i! X7 Q$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 6 G' ?5 m( G) C# `9 l
" f* P2 m# m u
. C: c* b$ A r# I2 @: u- L* x g/ O% U0 l
; v% b9 i& V/ ?9 k
) H% l1 ~$ h$ H$ P4 h8 t' l% |, d2 \' h0 j3 C: i6 [$ K! r8 h
- p. `: {: r) o/ K9 O: R/ o3 S/ W
6 u4 I3 ^( g! S5 q' C# x组合使用方法如下:
8 c; t8 f5 X- l' ?7 X# ]* j1 L8 P/ w2 Z
db.user.find({"age":{"$gte":18,"$lte":25}})0 w0 t& e. n, P" x
9 h% J2 w/ ~9 l8 I8 ]9 B5 h
`3 {2 o8 L# W: S- n& k
% z1 n& q, b1 a对于日期的条件查询方法:9 d! P0 {, D: s: p
3 }# U5 a- e* q$ |2 @db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})" a+ q; _2 e+ z& L/ ~4 b
2 K0 q, R q5 U6 N
; o/ b1 u8 f5 W3 r& W: j) S0 B8 X- H0 J5 `/ Y
2) 不等于 $ne/ S* q2 n; Q8 U) O4 J8 o0 i% Y
: L. P$ U0 x6 u& }1 o! N
例子:
1 V1 E: \8 m* s% [; a1 P* f
( L/ I& ^7 c1 p8 Y5 S' f! d% {1 Idb.taobao.find( { age: { $ne : 10} } );
, b# |# _4 a' k# W/ ?% T, v; fphp7 查询mongodb方法大全
) _; V, C* E9 C7 f
2 ? F' [. o( {6 q, P8 [# B! G! Z& n5 [5 V' A; y7 ` d* S# f+ {
I8 ?. j- f" x( J n3 v3 l' |
+ a3 W6 V; |$ c* [2 E" q1 a5 P7 E D
X. I8 D& M- n+ i T5 b+ z) k
( |! r; k2 q- q) Y0 E
8 z6 `/ G5 E0 ]# W+ d- _; t0 m! v) J8 s* X0 r8 e' a }4 e
/ I* ? T/ w" K$ k
/ U7 @3 r/ P3 j9 x: ~8 k6 p0 q( n( L& M
' E) X, b* H8 L
|
|