管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:( l9 k" v' y8 i
' i! w2 L" l* Pdb.getCollection('student').find({'age':{'$gt':'20'}})5 j" D; X; {- T/ L$ d p
6 p7 l8 I, I/ J, X
& v/ F$ E: A) E6 v
! }1 d. i/ U6 v& \# \' D$lt < (less than )& ?. P8 e: f1 Z$ Z& n) W# R% h
6 N5 o+ R2 U4 v" Q, I5 m9 F& \
$lte <= (less than or equal to )( C7 {" q8 z% a" |# d
/ ]' Y5 a% M) h- a m$gt > (greater than )
1 x; t! F6 D$ m8 t# [4 N. ]' L5 E& h! _
$gte >= (greater than or equal to)' F# r1 q2 w& Q
8 p+ {- m# r9 |" C2 ]8 R) Z" i1 x0 \# ] M/ I, u" W# e0 K
2 B+ B5 X( V, {2 C* ~$ne != (not equal to)不等于 {'age': {'$ne': 20}}
1 U/ ]0 E1 h$ K! S& F: J2 m3 ^. e0 L+ f/ V- a
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list* a+ f7 T2 T3 n! q' ]
+ C: R1 m, x! }8 u/ x/ q$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
. D# U/ R7 P& @% s# d
& B7 a& D$ ~/ M' l( L: G$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字1 m8 g! u( {5 s/ Z# I/ }; u# S
! q+ v4 U4 z: g" \$ L/ S! a
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在5 ~: x$ x/ ^! U; v3 q m
$ q9 v: I. x2 L' r! ?% V
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int1 A# p7 y6 v* Y
- I- O6 M2 y" Y
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
. E8 r/ M9 |, u" M8 z6 Q9 E- a" t% z: g! [# w6 p
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
% a y& z# {0 }2 T7 |' u- `$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
) R/ ~: t- L% W6 k4 ~( t
3 S# H1 ?; f7 Y1 `& v$exists 键是否存在 {finaGoalLine:{'$exists':true}}
( {5 r+ d$ d5 r& p/ \- }: k( i B) A2 w- H' O, O( A( `
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]& k& [) C, e& _* R1 p
! @! }3 V" n; a, o
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
. P1 |" Z( Q$ y; }! ~# |" h$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 3 p. r/ _8 v* E; Q9 n
. T9 g. r! D$ s$ W& K& R: ]6 b
1 S% p1 {3 e% d0 {1 a
# N5 n8 K: p' K: F. W9 X: `7 P+ Q( i# k5 u
0 n& s9 h1 v' b; O) H; v7 A: X5 B
' L; |- ?* T- |" ~0 ?3 l% j. W9 l+ O, t F' f+ }
0 T L. Q" v3 l8 e! ~1 W
组合使用方法如下:
, m$ O( Y. N8 W( y6 H6 j6 p$ X0 x8 A7 t5 I
db.user.find({"age":{"$gte":18,"$lte":25}})4 V& ~( p/ S& w* |$ y. D
/ P1 I. } l4 R/ ?7 {
$ y& O: m; w# A6 m1 }! U. u
/ D, n; ~6 B$ }& F9 m! K3 U V对于日期的条件查询方法:% L7 d" H5 T& Q6 q
" ^8 j7 e8 p; m# t! v8 N7 Pdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})4 l+ F+ O5 l5 _% O9 R' ~
5 b2 g. E* j! Z( `
( A5 ~2 a0 Y- e. ~/ o* f+ a% ^& j* s8 I
2) 不等于 $ne
# |2 D( {& i9 }! A; q1 e0 f0 _5 t) x- E7 ]* t% l
例子:. U% j0 S7 }' A _. m+ e1 X5 A8 f. o
! b! u( J6 s( C
db.taobao.find( { age: { $ne : 10} } );
3 f' ?: u5 K5 ]5 a2 v8 T1 Z, M2 dphp7 查询mongodb方法大全# h' C8 \, u5 p" j0 ?/ t; q5 B
; b' }, `+ P& o6 Y- i2 I- U$ g0 P
" ^& N; [) u- \9 a( ^5 s- \
N* b/ V, u3 D; w; Y
6 U" H4 W4 T7 Z4 l/ A
$ G- H$ l# @8 b4 k
' ^' b" {( H9 W( @$ `$ J4 d' W0 o+ [, K7 |. [; }7 H9 |2 I3 F5 J
+ M9 U' x2 j! X: m. L8 ]! P2 C7 _% x5 C& p% r
8 W6 U- D0 K) d: z" ^% I' `& I7 b+ K; N
2 _' Z' `$ F- F0 C0 y. ]: x4 P: l
|
|