管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:. ~6 N0 ~/ j2 l% n
4 ]) A2 E& w' W$ n0 V# e4 odb.getCollection('student').find({'age':{'$gt':'20'}}): @& A0 K! @% S5 G6 T
' |" x, K) N9 Z5 V, C5 ]% V y
9 V+ `. u/ N4 G$ V
3 F j+ M; Q* E8 @" H5 K% {& @$lt < (less than )
, p6 u) b3 |0 J/ k% n3 Q- U
1 Q0 x; X; i: R6 Z* L$lte <= (less than or equal to )
+ ^/ I! ]$ [5 G5 S/ O. o- ?1 a( o7 g' ^3 _. p$ d
$gt > (greater than ). @* J) b) h; w7 k( J+ w/ |$ w5 K
& i6 m% I) W ~( A% K* n6 S
$gte >= (greater than or equal to)6 H5 t' @* ^9 A
# r+ @) m! |1 d- x% b2 v' y3 v; t$ G( x9 h# K
3 y3 Y% x% U8 S6 x* k; B$ne != (not equal to)不等于 {'age': {'$ne': 20}}4 b, j6 o) V ]# [
5 k/ c1 n' h5 b& O7 L
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list: A) D+ C$ I1 p# J( j
- X3 a+ L, O o3 o6 G0 Q$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list1 m% O1 Q, ]! f7 K% }- G
7 p. ~* x% q& U$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
6 J# s8 v4 u7 ^, X, u! h) o3 g- q$ X% G& c+ B& U
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
2 Z& b) c/ r/ H" C9 @+ |, \( m8 I- x8 ], o2 a* C* P- I# J
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
& G# y" D( Y m- f4 R* J, N7 k9 g
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
% j8 x) s' `" W6 u) o( J
. n: }" Q/ }$ C$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})* N+ T! w; E3 b5 O& j: C( |
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);* |7 t# M! A, s
. V4 O/ x( p8 `" z$ D! `$exists 键是否存在 {finaGoalLine:{'$exists':true}}( @9 C' l; O, h( K) y' F2 A: `* ?
3 U4 x9 B' p% N/ R* C) g6 Z/ e$ X1 T& x
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
2 f' q0 w2 X% n# _) U* k& n0 S, ~8 Q) P7 A4 B& p9 Z
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],1 z9 @ _& K: B9 a
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
$ K1 s( ~$ p( a$ B) c
4 z1 d0 `2 d7 `, q; `& V; w! h, z0 ^3 R. b; h8 D0 s4 f4 C
& n5 p% x! Y' F- P h& x
$ t& @6 ^+ C$ `7 Y# e2 t
z, K5 [( Y/ N- N# L8 I- _
" @- @( S' n: Z1 q
0 e9 T: @+ F- I1 z, h" I* Y* |
, d# K& J) i2 E; p% M组合使用方法如下:7 q9 m" s& f8 {, G
: x7 g/ i+ J$ J/ V* I |db.user.find({"age":{"$gte":18,"$lte":25}})
' s- r( I( p) t% b: S' c7 `0 r! |9 Q2 E) X- [
7 L% Q6 i* J( o2 ^3 z, |! O- U: S( g7 Q1 Y& _
对于日期的条件查询方法:0 W) L+ d! {3 }2 a- W
: z4 J* U( k3 I: cdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
) F( a& ?: |/ E% [. K; p0 l% |& R7 y& [: U
# D/ v, f; J" }! Z9 X0 o% J1 a! U9 l! y9 g, m/ u
2) 不等于 $ne
$ q8 Z- u1 N, d% @) S; z9 e9 ]5 Q
例子:
9 T0 c- K; ^3 `' E$ l, z6 H3 z1 x4 i, a/ h" p3 F
db.taobao.find( { age: { $ne : 10} } );
2 }8 ~3 I4 ]( Y$ W) Tphp7 查询mongodb方法大全( s/ G9 _6 A( C: g
6 G' Z1 P6 |' L! W5 }) O% v
/ V: i; l" `6 O4 i' h4 r
1 Y+ Y9 N0 n; G: [# ]
5 H( D& W! Z; m0 W) ^; r
) t. H; F$ P: }7 ?5 ]; q4 M' t+ \5 Q1 ~! _
/ h' q7 r- `& i
: k& G8 o5 I9 W, q: [: c; R$ k3 T6 a P. T6 t/ M' H
8 H9 k7 \+ }9 B4 _# s' L5 T
4 z: b+ `6 D X; [4 F/ P* M) o: V- ~5 V, w
|
|