管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:* ]" N) ^' F4 A' Y5 x" x
/ D: T( B# Z( C+ G& Ldb.getCollection('student').find({'age':{'$gt':'20'}})4 C; p! m l' H% x7 ^1 E
4 P) U* Z, @5 J. f: ~* t. P& a/ B2 P. w3 N" b
& k. u( ?) d) b8 ?+ _1 g4 a: A' K
$lt < (less than )8 f) H1 c& I5 ?# r1 Q6 i
/ B6 ?; A- H$ R( j$lte <= (less than or equal to )/ f2 ~4 k" D; n1 e# x& A) @' c
% i8 M* q/ s J
$gt > (greater than )$ {" Q @$ F& {0 X. ?8 e# u
$ V- z1 J8 d. n+ q7 Z
$gte >= (greater than or equal to)" J8 v' A) O' G5 b1 M
- {$ G2 S& H# ? `: K4 V+ T) {% L/ d5 c) T/ ?6 q
m% Z! G4 |" l; R
$ne != (not equal to)不等于 {'age': {'$ne': 20}}/ Y6 O& d; Q4 [3 e2 R8 M0 p
& k N9 Q% \; N& r$ T& N# H% i, A
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
2 `/ X: q4 a% k7 y5 ]! _1 X/ t6 U3 t: x2 V! }1 a5 S8 w; k' g
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list! u' @( ^: I) J' c) u f) M$ A3 g# w
1 }/ m6 R6 ?& `, i: `8 @8 A9 S$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字+ y) }$ c9 \( n& W
' `0 X) V0 q0 C( L/ u w$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
5 y1 J* w7 D6 P5 N. M3 A% W1 G4 e# A1 F% ], N+ n K/ W
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
: `2 v9 q* {4 O, u0 A0 c% C$ I# `6 t8 |8 ^2 m
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串/ C; Y+ [- J+ s! C9 z0 x
# _0 h: q6 d$ s
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})1 \0 t0 Y7 O U: `
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
9 C* [( |0 V+ |: X& s" i
; r* I" }1 v0 u( k' H% u/ T$exists 键是否存在 {finaGoalLine:{'$exists':true}}
& |' w/ v3 R' X% V
7 c# z9 X, J9 b* ^$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]- W2 w" A7 m: M1 S
' t6 Q8 N5 A% w" `1 l/ @- u8 n8 B$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],* o6 U2 @/ h8 D1 \- j3 [: U; |
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ( H: B5 V$ i9 _
8 v; w. V' L) q% V2 @: T! T7 O2 i
0 F6 K" p1 D0 I) M/ u
1 H6 {, d8 u, W7 h
_2 i1 @2 f* c' R
" @& s3 k+ ]: j+ I2 B/ m2 N- }
& ^/ s! ~3 ^3 O0 l3 I) V" ]8 M3 }* w a6 |* E( Y: V
" h7 }$ g. |1 k$ X% M3 \
组合使用方法如下:: S/ c2 n. v k# W7 W# ]
. p, D! E* z! p- E% e+ n
db.user.find({"age":{"$gte":18,"$lte":25}})9 i# u. f2 A" p
9 k2 X+ M% \+ u- Q0 \4 @* m+ p/ C$ z" y4 `, g7 d
# y7 P9 E7 y% |0 l8 z
对于日期的条件查询方法:% W9 U. _& }2 |) L: @/ n O
- N2 r, S: t% Z6 jdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
. @6 S3 y' ~" B0 e* Z k; r" S, l8 w! Y5 x
! M; s9 ]0 r- Q3 J2 U: O
# l7 B0 l3 a9 ]% v. g% L
2) 不等于 $ne
. B0 |" p! x0 y6 }
|: k! R& w9 g8 s3 O例子:5 D# h! ^( u$ H% r6 S! F, F4 b
& G ^; X- x& T2 X) g4 i: W
db.taobao.find( { age: { $ne : 10} } );$ n5 w% Q6 x' s8 [ ]8 j0 f
php7 查询mongodb方法大全8 l, y! \6 R. R$ Y
7 o7 r- E+ s& g; R
7 L1 _& a( ?4 z% \' _
# n9 h# }0 Y! i6 t* V" ^6 p# ~' x! k
0 B$ x% D- d" A8 I, Y1 q" |2 |2 G4 h' O1 M% S# W% Z
/ w& v- C9 k* ]7 k
9 v+ H) \& s$ X4 C& |
1 F1 m a0 s; `
+ \% B' z3 X; i# C# N
4 A) i8 F/ ?3 C% v4 p3 i. A; n) q9 ?; A: I* X- T) h1 E. R F7 u! v
& U6 s# p' z6 a: z |
|