管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:3 I q, z( t2 O2 n) P
$ I7 y4 W( o3 p, J0 j( T' H2 }
db.getCollection('student').find({'age':{'$gt':'20'}})
9 S7 N$ L; S J
" Z" w2 E. J V9 e: Y1 i4 P+ a- ~" E5 o7 T* ~
, _8 H# j# \" l% U7 V7 M$lt < (less than )) C6 q9 t# D: d* g: j2 |' h
; Y1 ^+ l _3 T, y* S$lte <= (less than or equal to )
+ p( } X) X" r
! f$ [3 s7 j* q* j) G$gt > (greater than )
: u* b6 e/ q( Q( f3 _, w7 ]9 g
- ]5 Z" T5 c" ^- k$gte >= (greater than or equal to)
4 Y& U4 h8 J' L' G+ }, G9 g" D# X" W; I
[# ~7 P/ T' ?$ [% I. `
+ Q3 E( {' V) s4 Z$ ^ U" K, i6 f+ Q$ne != (not equal to)不等于 {'age': {'$ne': 20}}
2 e( B% a$ n5 {7 N& W* D- g( O* h1 K3 r
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list. Z7 T$ B' u% @& i
. d; c2 F; s2 X# x, `& w' f; j& @$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
* v! \% D+ M; W( J* q/ a& `3 Y% D$ K2 ^4 z I
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
8 L& {2 Q4 q0 V) h) A) r+ w" Q/ L* q8 d
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
6 z4 Z7 a0 M7 a
0 z8 B: B0 x/ s9 p7 i$type 类型判断 {'age': {'$type': 'int'}} age的类型为int( `2 {6 z" f6 g6 v6 r
$ D; _% G5 d1 E9 j
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串% R6 _ x |* ]6 w2 S9 N& ]6 p: ^
, d3 T% w" K8 S @+ _
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})5 D* F. `- [$ l/ `) T
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);+ V3 R2 d, W# t( r1 B
Z+ r/ J' m: E1 Q/ ~5 X$exists 键是否存在 {finaGoalLine:{'$exists':true}}' E6 q: e1 B. M! S# F
8 H& Q. m9 x& j/ E2 S& D8 L/ o
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
6 ^$ X% s1 B' q" @0 e! E- L8 R D7 U8 T# @0 Q' n
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
8 e: c2 J0 {( s0 Z$ e0 A# p$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
' g5 G( K- d/ S3 [& B
O1 E* S8 y+ P; c' x8 `6 P! @, x; w; A
& r& R, @! f' w( C* _4 Z5 P: F( t/ y0 f, }6 s
6 N9 X3 x) z7 h: K6 {
& [! I E. o0 C; @: [: i" n, c. ~
0 e. P9 k f$ S" S. p2 P! ^组合使用方法如下:
2 j9 f/ w( Z+ Z: @' i$ y: u$ P
- ~" ]" k1 l [( ]db.user.find({"age":{"$gte":18,"$lte":25}})6 d( @. m. M# G% n: g' U7 ~
+ \. w: ^& o4 ^! x% ^0 \
, h, f, R9 N; x2 n; c( w5 b) |% n& o( ]' f, x6 S
对于日期的条件查询方法:/ q _4 `+ ~& Q+ G9 k( h$ b% u. e
7 S( C- C- z8 B2 L# \: Qdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
9 l( @9 |- y$ T5 x! h) e- A7 N
; W- j$ ^! v' `% f: W9 c8 R- K: K# j+ ?
$ X3 e4 d& S+ Y
2) 不等于 $ne* C9 K) f" b% U i
0 B) ?# U0 d0 S8 d3 b/ f [例子:
$ a# h4 `' c( O! v1 m% |' |, ?# B2 P, X
db.taobao.find( { age: { $ne : 10} } );
9 r* R- K9 ^. i: @8 Mphp7 查询mongodb方法大全
7 Y$ _0 P1 a* p. F y
1 B" @% V7 N N4 P' J4 D v! w3 b3 K% J# g
) {* H `3 [9 b3 ]3 f
( H1 {5 i" P% y7 i6 J
* D* k8 ~* r4 m
% [4 e! }' ]! L/ A9 l8 a5 j" y& H" v/ A+ |. Y! U
( N: t! b0 O' {! Z1 W+ Z0 F9 X. T! G f
- A" z2 S' @3 B* a
4 m! {, ?' _* L8 j! a Q1 ?6 c; P5 Z3 ~+ D
|
|