管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:: {1 q! T2 u; z
( b6 e: e, x) W2 D7 S: k
db.getCollection('student').find({'age':{'$gt':'20'}})# @- B8 O; r- ^+ J% S
, | t& W" G- b8 p( k2 f& Q2 F G" D, |6 c& b
{! C& G, I* K' b$ v4 N# {) S
$lt < (less than )
6 {2 Z( T5 C/ j$ r4 t6 }6 v
5 t" F+ \: F/ _4 M4 d1 l, t$lte <= (less than or equal to )9 o) e5 ^- N- I7 B5 m$ h, b
& {9 D* z/ {! r4 G2 a$gt > (greater than )
6 }, W0 T7 h6 r: i& o+ t% ^2 t& `1 H0 K' y% B+ U: z
$gte >= (greater than or equal to)
* m5 D3 Q# q9 t2 E' a: k- u _* N6 V: ~, ^7 q
% W% x! R8 H/ } x; r A
- ]! X6 O& [+ y1 {$ne != (not equal to)不等于 {'age': {'$ne': 20}}' _5 Z: Y i# z
7 n" p1 D# `- T- d; F
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
6 k4 m' O& w% Q) i8 W: J
& x3 R/ I* s0 F( l2 ]2 x( ^$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list. P9 p/ M- c" x3 x) e
8 X2 e y' Y% c" c$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
$ E) L" y" j; x3 B" x! ]7 ~/ Y* R- Z
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
) |9 D4 O# m' z, N7 Y+ }4 G/ M8 O
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int0 i, @% k6 C: p
( S# B9 n, f, S! A }; U2 b
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串# Q3 [+ T& ]# _- F" z* \
; V3 ~' F: ~3 E$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})$ W6 L3 j: e% @# n5 r- G4 y( v" ]
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);2 S6 z. b( G# n( r5 ?1 e8 ]" u
9 @, e( U+ y* T$exists 键是否存在 {finaGoalLine:{'$exists':true}}
! S0 s: i& }5 n: Y7 O/ r
) W( R% c4 y7 A% ?: Z8 Z$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]* ?8 M. o& @. J% q% ^: y# c: v- f
& R9 L2 T8 `4 s: M* Y/ V
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],4 T- {" D0 r/ t2 S8 Y
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
/ M' h, k! R8 Z+ x4 t V; {
) r3 R$ c- U6 {
& r8 w* W" N9 u9 L& u0 ?2 f* u( s+ E+ \
/ J8 E; l. w7 j( G2 Q9 Y2 |
2 _0 t8 h9 m7 y- l: w E! U& X! E( h5 x; }6 [$ E5 c3 ^
8 @5 l7 Q* L. p: Z
8 ^! @, p; J v8 x
组合使用方法如下:' @; G% b1 [: |7 X
" h9 ^: o2 R+ `% J& P
db.user.find({"age":{"$gte":18,"$lte":25}})! k& F9 D' I3 \" B5 F% V. f& i8 m# |
( l2 n6 f, ]; s
7 p# X9 a( P0 T" u( \) A8 T N5 r
% T3 W. Z" ^. n+ S0 d对于日期的条件查询方法:
9 W# l& C5 W( l; z9 U: V, {4 \9 K8 V# v D, |9 S g$ U9 ^1 w+ w& ~
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})7 P8 n; _ o( S8 d: Q, {
# z H: \6 i/ x9 J( ]- N9 U! \+ j1 w2 s
6 I. o7 S* j1 J4 w8 _! k
2) 不等于 $ne m' |2 `8 l6 j, J. J- S0 ]
% r5 Z: Z" Q; D/ _" m
例子:
# r9 l4 L* `7 O: j" z: [- [% c1 T1 w+ X" K' S
db.taobao.find( { age: { $ne : 10} } );. ]; b7 U5 `3 ?% t
php7 查询mongodb方法大全* S7 I: v7 A' M L
! v+ W v' P4 O+ z; S% F& x4 w5 x8 b9 k0 S3 a5 Y) t
* S5 |- h5 A5 I4 X0 F
2 c* \" V6 D. o& \6 a
7 d. G! G/ L- l i3 E0 L/ @7 e. a( `) _7 z- V a: u' |. f
. o5 i' [ l* ^6 y! C! |( e. ^: n+ _" L
# I6 I0 L& B- V
5 Y, z5 M3 ]3 N7 D3 H" u
8 S1 p" ]) }$ T0 n' n, r. d1 G
# Q! |3 x$ t7 E6 B. {: w3 M) P# a/ n |
|