管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
8 e: P$ r: R: d6 v- g# @& w. M! f7 _4 [1 ^: ]' G' L
db.getCollection('student').find({'age':{'$gt':'20'}}); a. C. X4 K' E. F( V" X
7 B( K2 N: [9 x4 M7 ]- T; E
9 s2 I: X$ x6 o5 N S5 k+ A% ^1 U. T6 [8 Q
$lt < (less than )) o5 x: T- m9 b5 V+ u. |
" t! J ^4 w% \# [4 J# |" {' M/ B$lte <= (less than or equal to )
4 @, u0 H, S- O& C2 E/ T9 y
! M( G! W3 V9 A% b/ e- b$gt > (greater than )5 E! @; |; A# y8 `4 B$ X
+ t2 h7 v7 W6 s! C. v$ K
$gte >= (greater than or equal to)
( i2 O6 |1 w3 Y% l4 D% z7 I! J) t* T/ ^% B; C( l! t5 W9 k" F0 a) w
5 l& x3 h% e$ m6 K( h% g
5 c% Z3 M" I( h; I3 j1 P
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
: g, z5 e e, s8 ]# n" P4 B& J
! z. |9 i+ L+ E" o& S% I1 o% n$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list" [& l$ r" O }1 F4 {" y2 `
* p( n1 C& @* C2 U$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
- [) a: T' D z9 L! n' m& @
$ l, A* z, _- K4 a$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字& ]& w! v7 X5 l6 v0 E- q) F
6 D+ |* m z0 h' T0 |1 \$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
( `; |* x+ X: C: a; J
0 o0 N5 t% b1 K1 m+ k; I$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
5 v; a1 e/ w' g6 U: g% G
- }& j* Y# y3 H; } G8 Q. k4 _/ s$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串* L& J) K$ ^: n/ ~3 ]* T
1 y- \ Y6 P$ `; d+ L& G R$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]}): b& K8 y+ e ~3 p! e: L* c4 j* ]# E
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);+ ~9 v4 Z# ?- D0 E2 Q0 b
y! b4 d" l# K! }# f5 a8 N$exists 键是否存在 {finaGoalLine:{'$exists':true}}
( P0 m( o& x$ V' U+ R1 Y) e. |6 X) X; L# a5 q4 W
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
, H+ ]5 V: c' r' O# ~; l N# O: H8 f$ O. M |6 i
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],/ v* ^& A# N7 r& s# t8 ^1 i! H
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 $ ^; Y e: z7 ^3 }* `1 g
' l8 J2 ?) V0 Y
" z# h# l8 B; [6 D5 Z6 Q' I
7 l# N8 b; p5 E; t& \: x- x; v- g$ s4 ?4 ^; C4 H( ?
7 K2 p; M" |" f: y3 d; M! S+ Z3 d
y3 _# P5 p' b0 D
' j0 {/ V5 N, A8 C
: [' w! k+ l1 r- A, J* X: j8 b5 I/ E组合使用方法如下:
' d+ ^! M; ~$ [( s& V0 g
7 Y: N' W& |4 N& d# l) [$ \/ hdb.user.find({"age":{"$gte":18,"$lte":25}})
6 b0 O2 A7 @& D% M% X
5 C4 ^' t2 Z& n ?% @- L T/ J g) e1 u, x9 |( v" F- Y
" Z# C5 P6 W" p! V( y对于日期的条件查询方法:- L5 P7 C0 U( e! z3 ?' Z
. w9 |& u6 X6 G7 P
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
8 r7 C0 s4 Y. ^* r0 k+ ^
% v/ Q6 l7 l5 A- O# v0 I& o0 q, y. N! x( \7 ? P
4 a/ K- o- \ B& a8 V# z! F
2) 不等于 $ne
" m5 c0 l3 |* y+ Q7 ~: n; r3 _6 D# \3 S) b6 t A& b+ s
例子:6 }; l& {5 V- w2 h. v
4 n# b, z6 x: R" p3 udb.taobao.find( { age: { $ne : 10} } );* ~$ I9 D# Q. _# C1 }; x
php7 查询mongodb方法大全
9 l: n; Z5 I% l, d0 a# H
+ \3 e; }! D! }; O. j0 A
) X' }5 F1 \; ^. D
3 I* C) U i1 Q5 @4 W1 G" `! w5 {8 w4 ?, c( {
5 W( B4 E8 K- F4 C
( T9 `0 j' E9 y) {3 P/ i& M
" n) h2 B' X( D+ w' v" z% a6 e- K
2 s, Q+ `% J- T4 J6 `
+ J8 q: `. H, e$ @1 L- n
" o3 [4 p# L7 K0 C
S+ k6 B3 m- [5 `& ]8 S; h3 r+ {% x- b
|
|