管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:: M( v9 ?9 ~0 j
$ ]0 d' u: B! k$ y/ ^# ]. K3 T8 ]
db.getCollection('student').find({'age':{'$gt':'20'}})0 F) G3 C& c0 o' |4 n$ z
% M/ ?8 q" }: W) X/ L. A7 w0 z- r. [
8 C: k" x6 p4 j
4 i( n" {) g+ h6 a: r& Y, F& O$lt < (less than )
. Y% E/ z' U) e, y6 r
+ U" e( F. z }; G0 F$lte <= (less than or equal to )! L) e+ F( C- e3 `6 y. J
) N$ Q3 P6 ^; v* O* w s
$gt > (greater than )
8 T3 ~* X* U f& \) m
) c4 ]- j3 E4 f1 u" b8 l/ b$gte >= (greater than or equal to)" \& a6 ?% A. w* z1 e j) \
# V2 p$ y2 M) _0 E; t# b
/ X* J" Q" d. q* R* g
# W1 p( F `9 P( N8 r }$ne != (not equal to)不等于 {'age': {'$ne': 20}}
4 u o) {3 ~4 E0 |1 Q7 W& k: e9 x- r* n
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list' ~; b& y5 r3 _" j5 ?
) [2 g4 @* U1 h; o7 `
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
5 t3 F! f4 m. ?. O" q& s
; I( q/ I# I3 G& R4 O% _7 m W' U2 B$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字 K2 G" H% z: d+ t
$ i$ {- j* ~! e. b
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在+ T X1 N% P, X9 ?. V- C% ^
+ p8 \5 O2 c4 Y- n
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
9 `6 v3 Y! Z, m% o7 Y4 Q+ d, P) i2 q, q# V
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
, y4 z1 k6 _9 R- c1 t2 N
& v# k4 m2 a4 _8 \# s4 ^$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})" e% v+ Q! d, c5 m* V* |; x
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);$ G( K: Q+ M2 Y
/ o# L+ ?2 x/ c P8 Y
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
9 X8 A2 [1 ~2 I# d) V9 W2 C- O7 V
! h' ?$ ~+ @- C( `$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]& L( K( ]0 T- S
7 P Z* S/ L5 A G$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],0 M M/ O3 v0 _. x1 O4 g% k
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ) P8 c9 t- O2 T' ~
3 _- a0 ?3 J/ a
5 i0 Z6 M, w1 i1 Q, l& O. \6 H
. y4 M, I. I4 d! C9 ~0 Z/ K, k6 z% R( i4 G( c7 O; u& m, ^2 v
. |) E% q3 `1 ]; {- i7 H1 Q. K
z! s$ b. @. u% L' ]+ Z/ H& Q9 ]/ F1 w. q) E+ O$ j
# N3 A3 A2 M+ Z9 R( Z组合使用方法如下:& t: u2 R2 k3 r7 ~( F
( N* c8 D$ m) k. O
db.user.find({"age":{"$gte":18,"$lte":25}})% ], {9 n& X4 T- ?' N
* P8 }% j6 u% p7 h s
( ]- G/ V3 O5 T& m0 V b
7 {9 B% I" a0 ~: B" d+ I( G对于日期的条件查询方法:
7 L1 M5 f: ^; [- X! W
4 l$ B: |# Q L6 ]& Rdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})+ G, h1 c; Q- d. z, @; o' \1 X* u
& @/ h. |; D3 z, B' P
( U+ b4 [4 `3 c9 _
2 _2 T- V( J" ?/ S
2) 不等于 $ne+ m4 N: ^; p9 P; A7 p
0 |3 B0 w+ X% U; t例子:
- n% K! [$ L+ q q4 H1 m
. \0 ~# |% @! fdb.taobao.find( { age: { $ne : 10} } );" q& m: C5 G4 h( d0 A: p! y
php7 查询mongodb方法大全
0 |% @: _0 x. _1 x5 b$ M5 ^) z$ M8 T
( e& e) r9 y9 W; n1 H
' z; D; [, L' T# b# S& k' [% F
K% s3 ^2 Z/ M. M; Y! P8 d
8 k9 _# L+ x2 R V% Z0 I1 ~9 {
6 |5 t& M. f5 O( u! T+ C& q& [" x( S+ n( c" b% G
5 D- B+ f8 A& c8 H G; e
, x9 W* d( L6 |! {. K# M$ P7 S1 ?. f [! N( i# z
. W# C# \ W3 n9 r5 u6 y r1 ^ Z/ x/ V1 O
' k' t7 `7 i- ^( T; z* t, z9 N |
|