管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:. t, [: E! M! W
+ S, H) Z2 B$ r% _& B) L% @
db.getCollection('student').find({'age':{'$gt':'20'}})
9 T M6 W, S/ [3 m
7 O2 H" `; z$ r9 |
Q0 t/ F; m0 t. r7 X
\/ ?& k) a7 a2 A$lt < (less than )
( c: J) U P7 A0 k6 h6 d
' z$ {$ a3 `' s% [! g* S- X$lte <= (less than or equal to )
: |: M* i/ a" B7 g* [0 l4 V0 H [0 I+ }7 g) S0 X+ _
$gt > (greater than )
5 r- Y) D6 z9 b' h( s; k2 A7 S5 v. E$ H7 {/ Z8 c' j$ k0 R% k1 x
$gte >= (greater than or equal to)
q$ B0 e# j F( p* \1 p# t
3 K/ {: D' s/ X/ i
! ?4 b% r# e) |4 s `0 F, J; s8 C& I2 D4 k( o
$ne != (not equal to)不等于 {'age': {'$ne': 20}}+ ^1 v" J0 ~; q3 y3 X
# |7 b! |* \4 l6 n' S/ x/ [$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
# @+ D0 u+ p+ u( X* i
1 u9 D; d+ r0 U& `/ i( M J* c$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list6 Y) [1 e) M+ O7 U
( E: o8 T$ C, q) ^) d A% ^ M3 ]
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
- k% X m4 E0 U8 T) Q) Y; }& p5 u% @! F8 o" R
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在5 j3 ~3 V3 y1 w, \* J, l
. V% q% x& F* R( y w
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int1 X- S( V# h: z
6 ?* b* t8 N0 c
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串. [' R7 {3 T! b4 f6 `) a
* S4 S6 M9 {) f `8 y
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
, |8 h) C4 j3 v! u& d* C# u$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
) m( T0 N! R. P) M1 j
$ T) X1 Y$ L9 [$ \$ Y) d4 s$exists 键是否存在 {finaGoalLine:{'$exists':true}}* t5 t. E- R1 W) d
5 A! X. `$ z* L$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
. T5 w1 t) J# t& e u& i
+ \6 h& T' u8 ~8 `$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
0 [+ u7 I( q7 O! `$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 4 N* D$ L5 w/ o; I& F% |& `8 F3 ?
+ `0 n2 B- l8 d3 `5 q
8 |4 ?; L/ B4 q( N- P- q1 z
u' V* s0 m2 o C& I! e2 y* r, K6 N
4 J0 }" O( B6 ^+ B" n- k( @5 g
$ m$ u, h, [/ r5 ?' T, r& U1 U- @
% I( O ~/ {$ z8 A g
^. J0 M8 o' T+ V: ]0 k: |2 N9 q
组合使用方法如下:1 v2 Z3 N5 U! ~4 w* u9 ?
5 b9 S" B6 \: H i- Ddb.user.find({"age":{"$gte":18,"$lte":25}})
" e) @5 _7 f* ~6 W/ a" e ~
1 q/ h, |; c9 A$ M( Z- ^2 @/ @" n, [- R2 G8 a! l! Y
: S0 L8 @- k" E1 j& _# L4 t对于日期的条件查询方法:
# U8 \; O& R/ m' K0 c' V" O9 a+ i4 Z: \8 v' t& w, S c
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
, `1 ^$ f& ~" S3 H% G
( D. A' E$ u& Y: H* D5 v
! N n; v% S6 W* Z+ N+ a* B9 y$ b# s' \1 k! b3 T8 L, L
2) 不等于 $ne; R2 t' j# E( Y/ c$ E. R8 o
7 K- K' |# C0 [9 D! g7 ]6 C J: A% |例子:
F/ { ^8 n( Y" Y7 R
+ `- K% r; e% g9 v: wdb.taobao.find( { age: { $ne : 10} } );/ ~9 a; e* y3 f: q8 r9 O
php7 查询mongodb方法大全
3 u$ X3 k' }, o- ^5 z) |! i# {: {% X% [0 l3 q, B+ O
# P7 V) v) C6 R( y1 K' ~0 M' L
; _1 Y) _1 g/ Y
' B$ _1 v/ ?. F% _8 R7 H( ~6 }9 [0 H3 x7 E0 `
3 G b$ a4 t/ o: I7 P: [
# H6 J: R5 T; x- H# V4 @: P6 k- `! H" u" J/ W) W
' g7 Y4 k5 x9 _) w( K# `3 l8 @) J
( ?9 l \: W, J
3 i8 }9 x: q" [: ^2 s6 i9 h9 f7 s o/ T9 |
|
|