管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
9 I3 {! [2 w O6 Z: J& b1 c; t, t; Q5 F/ V/ w7 d" m
db.getCollection('student').find({'age':{'$gt':'20'}})* l4 {5 Z; b9 u: G# Z
% T* V; u) K% S
3 {8 M9 j2 M$ ]0 h1 t. H
& b3 E6 C/ F% K$ \4 o( \8 |$lt < (less than )
8 w8 D3 }$ S* _; D0 O# |# I p% T6 R0 r
$lte <= (less than or equal to )
: h. P' c" \/ a: p- d- {
4 o* F$ q% z: t+ q6 e9 N6 ^: x$gt > (greater than )* I8 H9 L! b9 d0 ?$ C% j
/ R$ S; B0 }( l$ Q: m3 s
$gte >= (greater than or equal to)
% {* Q1 ^$ F/ N: t3 z
& H1 n. o1 [; i: [1 w3 o+ l) Y
% B+ O* `# C. Z& g6 u' g0 g: Y
+ S; K& l7 f6 G/ t$ne != (not equal to)不等于 {'age': {'$ne': 20}}
8 e5 L! _! v: O1 i+ z7 w1 c0 y" M: p5 g3 S
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list) q3 P$ s6 x. [2 e. q. V7 ]
1 J) r2 O3 y, u$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list# |; F$ ~4 k7 C
' H6 i! P7 e+ B$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字6 c1 Q P! A9 i: T
, k9 C2 V4 A% H2 T9 ]) b
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
9 |% [0 e7 F9 w8 o
0 w3 p: v1 B/ P! D$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
2 x/ D0 f' d! \, u1 { n. K! T x* h0 k! Z9 ?2 Y# E' b8 A& }
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
Z4 P6 \2 o/ I' X2 i8 N" B( B$ y, l4 c3 d8 g$ y. m: j
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]}); Q( ?! x5 Y+ C3 i3 E7 V
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
5 B8 j0 `0 t% I: ^+ U% P. b3 O6 d8 q) e! \. u7 ^6 r, K
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
) @. ~# ?3 W' T8 n
( L/ v( y, o' B" L+ [7 ?$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]1 {/ q/ I/ q7 i' t" _4 r
1 q5 y3 b7 `+ X$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],. H. I; O3 Y4 e( {- b, u
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 0 c& t1 V5 O. G4 M5 r0 D
9 ~* M; k" r4 k9 J( ~: u8 X) Y* N
" b S" @/ z* S3 u9 u. F% d' U0 h7 Z5 e- M
, M" n: T7 z3 `0 D! i
0 _& m& t/ o8 e2 X1 [
! u0 A$ V- Q" s, D0 F
# B% f( \6 W4 a. r; f. x; a% C
7 O) j2 v6 R9 |, _# B" B组合使用方法如下:
0 l7 }, V. F5 L3 j- O+ N$ G6 b% u2 E8 ? `
db.user.find({"age":{"$gte":18,"$lte":25}})' `- H1 [/ [8 ^& r) {$ ?* o
& p8 }5 b2 s- J1 n! b4 J, ?
$ [( E3 ]! z8 b5 Q/ L! J/ v+ d( F; H1 Q7 \- w3 N! Z6 E
对于日期的条件查询方法:4 \- o+ O1 i# {* G+ u" z% {1 Y
, @7 O& E1 w/ H* T# c: {6 {, wdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})$ ~8 r9 \( I3 S: W9 D# F
# S' M+ t" q r
! l6 U0 E9 y* W* }+ n
' `8 M7 b9 ?. C: ~6 z/ x- F+ G2) 不等于 $ne ~1 [* m& H& X4 }
4 y3 {6 S0 Q- {* u例子:4 F' n/ i7 p0 x, `
, w! r7 w Z$ h5 n5 P# pdb.taobao.find( { age: { $ne : 10} } );2 D. }2 e: y" n4 ~
php7 查询mongodb方法大全5 ?% X6 t: v) n% a; S& O! }6 y
+ z9 N: W2 o( \9 S
& Q7 m: }5 @ g$ c: @
' m/ D4 ?4 Q1 ?$ y
, d/ J# H$ ~; k( w" N& g0 h. Y/ @ c; r" m0 `: _- {: f) ]
$ s) v$ \$ |% l- A4 ^ n' @
1 a6 C4 S( u4 g8 O$ d; T
) w0 B9 m# |2 ?2 A. H* w) {1 B# m
$ m1 T5 K4 T3 ?2 i7 M( I
% p; U% y. Y8 a5 G( z
) {/ i+ u0 c v* j9 H |
|