管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
& i6 K: o9 G7 {7 k+ H/ a( j! G* }" \
db.getCollection('student').find({'age':{'$gt':'20'}})1 _+ h* w7 Z5 w! A, E, v) x0 I
W% z4 W$ p5 j4 @4 B1 ]* t/ W$ P; w
$ [+ w- y; ] R' E s
6 M* F# n2 d0 G: ^, m# p
$lt < (less than )
) k. \0 @$ Z+ O% ~! G* y& B$ p1 v: C# g" C1 R$ ~' ~, n* W* g
$lte <= (less than or equal to )7 _9 L1 X! z, A
/ a) X& w% |4 I' \$gt > (greater than ): G% N6 |( ~9 ^
+ {) G% q5 n. L% m/ F7 S
$gte >= (greater than or equal to)( A8 @) B. k. S6 _- @. g+ A+ _' a
! z) O# o. m5 k$ o8 U& ~
+ ]% T( T# n, X$ k* Y1 y
) {' ~* u1 e2 R0 ~/ b2 ~$ne != (not equal to)不等于 {'age': {'$ne': 20}}
$ ^: L! X- W) ?% q; L# }4 k8 \# z) N6 T
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list; u% I" ^1 v/ m9 `
0 r! ?' a7 n5 s& ?
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list) k! V4 h4 Y& Y" M6 b
) n S( Z g- W' o
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字# q& I! @/ ~, J- A
1 Q! T3 V& `! [, H- v0 u2 o6 s! ^$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在' ~8 v* y- p: @, q) M, S
$ d% \1 A% R0 Z3 e$type 类型判断 {'age': {'$type': 'int'}} age的类型为int9 }- O. W* s% S6 o/ _" b/ x
2 p: d: l" |* x& B
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
1 V# a8 j/ Z0 L; Z6 j; r. m+ v' {
3 d& h, h( Q1 L& _( I) d& ?4 }+ P; A$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})% H4 M* o7 R& W. }, l2 ?
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
) o' ?9 O( V! s; `0 r
B6 A* B5 ^2 K$exists 键是否存在 {finaGoalLine:{'$exists':true}}0 P& x8 Z9 t8 q+ @8 `
8 p9 u: v: j3 E e3 j$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
1 I, a1 g$ H |, g1 Z6 E; _5 k2 i0 E \2 l K/ P% W
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
" o3 W8 H. B4 }5 i, H8 j9 r, C$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 * B: t4 |" ]2 i2 e) Y+ V2 s9 s' r) Z
, p8 G$ [0 F8 l/ q0 p4 V4 ~ u
2 ^% W; S8 i; h9 E3 B9 I
G, V8 v, i& I q0 q. }
& D# }( \( n) r/ Y8 Q: V% o% a+ l/ u9 \3 c, z
: j& X& M& F, j# ^
# ^& \! a! r2 C
2 ^& d( |% W5 y5 B组合使用方法如下:7 w4 a' G: N% `7 g6 f; s
4 i7 E3 i/ H! {( N7 p! B" Ldb.user.find({"age":{"$gte":18,"$lte":25}})
l& C) N5 X8 | x0 W# A2 q% G% N$ m4 c5 W: L
4 m( o. c/ g; I# {1 ]; p0 z1 P2 ]+ @7 p3 [
对于日期的条件查询方法:
) w2 B) }. O" `' O2 j/ a- j u
& L4 K v& Z8 ?9 C; X* ^* w, @db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
- j& E( _9 ^! S; @1 {
) g3 C9 V4 m; [/ b* P( ^3 a! h$ V6 ^2 [2 x. a5 V9 P/ D( t$ F
, k4 B8 B c( E8 W% c2) 不等于 $ne/ q) R$ t* e5 h2 _% v4 w3 c
1 C) R# }9 w0 r
例子:: E' I& P1 s( U; K
" i% a: v& f" f
db.taobao.find( { age: { $ne : 10} } );
1 ^9 Z) e( M* C: Mphp7 查询mongodb方法大全: m* z6 _" U' X! C0 \9 K
2 @- C4 P: m: h3 e* H# J
* ~* g- {7 M8 ~) ]6 V9 [7 k( F# `( j2 c: J; s# F. L: c4 ^
* @% N }/ l, Z. ]3 M! a
1 R# u: i' i. p4 I2 B: Y3 i
) y' m3 w3 C$ t" {3 Y- f
' t. C. q6 T* p/ W. z3 {. v% R- _/ y
0 d; ]0 K2 v U1 }, Z1 r9 r5 J; a4 h+ H
# n" `4 b: G8 B- E
0 k5 o7 I; {2 n1 x2 [/ B; S- h* z2 }. A+ f
|
|