管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:. H9 y+ y5 J6 L
" k+ i4 x% M4 a# c- q& c
db.getCollection('student').find({'age':{'$gt':'20'}})
! `+ q1 s, `$ \" e) K% b: k! F: ], t5 S& m+ v- ^2 C- S
' O; r8 d2 j" B5 W- `1 G7 P: ^7 K/ {0 g- y% s3 u$ W
$lt < (less than ): S4 W, w# n; c! C
! L- X, S5 N- _* N$ A5 |$ _ D/ D
$lte <= (less than or equal to )8 O& }/ D: Z& l7 r: e
5 e- p9 i6 N' R$ S: ~$ _$gt > (greater than )' w6 p) V; C/ t, ?: c' y
8 @& m6 f: }( E$gte >= (greater than or equal to)
) W4 U c+ n5 w$ b% C, m* \% ?5 N- v& g2 ^$ e( D6 B. N
2 ~6 \! j% y1 Y; S Q
5 y& [. P# p# i) l9 Q$ne != (not equal to)不等于 {'age': {'$ne': 20}}% \ N" M9 x$ y9 _
6 b2 t: [* D( G5 t
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
* n5 A% l& j! i) V* T
4 I+ ?( O+ A7 e& f' K$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
" F, B! b& e2 N1 I e% b' g8 ]) H( w# G" h
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字2 T) D+ J2 f7 f# P7 J5 m
0 r. j8 A9 E' m; a) n
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在- }. A* Y+ s T" H" q
, g9 D9 u+ _3 Z' C5 D6 b/ p. G$type 类型判断 {'age': {'$type': 'int'}} age的类型为int- j! U! R- J0 m% T- P
% g! Y0 e7 w; {( n: Z$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串# \: v9 [: P8 u1 j+ m% E
, @( c+ C3 V" B: z/ [$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})! T' C+ l! H( l8 T- |6 r
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);& [, ~+ a2 j* k6 W# t5 O# P+ o
: G" Q; K( H8 R' V/ n% k, i$exists 键是否存在 {finaGoalLine:{'$exists':true}}8 h( w- \% N# P; k8 \. Z/ h
3 x d* r5 ]- n9 B& ?+ U" x$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]] E' |( b; Z2 V9 p( M" s# h+ z
3 o( C) c8 O P2 z
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
: W O/ y! R: k# K$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ! w" X2 j* h# Z' L! N: v% Z
' ]# ?3 `- {" g$ O% ?
k. _; s. m6 a+ o% P7 Q6 \7 U- f4 P
, M3 z7 T) C o) j/ z
9 W7 t) _ D4 L8 _# m: |! c( r/ m5 X- a! c, p9 @9 D$ V7 q- V
5 L7 G0 x4 V Z
' g6 K9 V) Q7 M; R组合使用方法如下:
2 }* w$ }3 o* {) b% v3 W( B& i. M# J' e' }' S- _' ?8 d( a4 t
db.user.find({"age":{"$gte":18,"$lte":25}})5 F" X1 T' _0 ^4 P. w) W4 f
( |: ?* Y; Q4 T# l5 k, L) T2 q
' ^3 K' S6 O) ?# R8 j7 P
, l0 P& ^# T+ h7 v! p1 a8 q对于日期的条件查询方法:4 ?1 B$ i/ G3 H2 Q% p3 {
( D- P4 U+ S3 a! e/ ~0 n, o- O8 g
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
2 F& D; m/ t x3 P1 b% D0 ~ h. E9 ^: Z; l
( _' b& E2 D8 \9 F9 \& a% r8 m1 {( J% O
2) 不等于 $ne9 r3 g; [4 s( A
( c1 t8 `. s% F$ N u4 [例子:
, y: g: B# v8 Q5 z
+ w3 e: u# |# {! {; z* I7 {7 c8 q- @db.taobao.find( { age: { $ne : 10} } );
/ }3 d8 i8 g2 Y( |. j9 L1 r9 V( Aphp7 查询mongodb方法大全& `2 j" Q6 x% e* F/ E& Z0 ?5 O
4 n: I) ]8 ?) \# S! V `& I' \
, a/ N8 r& Q0 k' n- s" d/ ]- T
! p) |9 O% N G: M* `
1 Y' f: o( ~3 r. G; w6 G2 I+ b( }( R5 ~' l" Z; [
/ S6 I9 N% \* m, l
- `7 V, }+ P. o$ \. N
5 o4 u; B' @- h
5 X6 u3 U! {' n! z4 O
) {/ C) U/ Q* g5 d5 n
/ s8 l! R/ O* E; ^' D9 {/ K- C; F! r |
|