管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
( K* o% W# x" W! L6 E
- a1 i- n# n2 f# Mdb.getCollection('student').find({'age':{'$gt':'20'}})
- v0 B6 ]6 Y; Z4 B
1 @+ H5 e$ r1 w. D6 R2 h# a9 \; f9 @0 J8 e
+ c* j8 `; ?/ y' G$lt < (less than )/ c5 \6 G8 { e l/ P- v: D
* O E0 \' k3 A+ w# y8 U6 c: G, Y$lte <= (less than or equal to )) N' w4 X8 q% ~' X5 m5 h
6 U. |* |! l- v; l3 C0 A6 r, o
$gt > (greater than )
2 W, W+ \: {$ r7 G9 H! c0 t5 B2 c2 M; X/ H9 W \% G6 u
$gte >= (greater than or equal to)
5 k# |2 [: r) K4 C
2 f5 T4 {+ P' w2 ]0 M
- y7 @8 J* s4 R' I) j* P& J$ b7 x* B" K' b) g* j5 j, v# q- |
$ne != (not equal to)不等于 {'age': {'$ne': 20}}- A* E3 C% W7 i9 r
9 U+ i4 O% }, D: R0 q
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
$ N6 C1 \; e1 W# P3 t0 W3 k
& V6 T6 G5 n( F) I: `# Q$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
. B$ J" j7 Y! l9 Y6 V: r8 c0 q3 }, C) x# S9 }; P9 h" T
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
; J0 e5 B* G+ c# a6 k; E2 p$ U) N- B1 S
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在: A' _* c# g* P8 X7 |
5 a2 o% A/ z# z/ T7 t" o8 `$type 类型判断 {'age': {'$type': 'int'}} age的类型为int$ [0 n- ~- P+ Y0 g% T& i( o
) |$ V, g2 X) s2 W( L- G! N
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串/ b1 s0 z/ z7 @7 o) t4 i& Y) t
% k1 _# s( \) x- c- T p6 E+ G7 w
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
% Q+ E, R) E- A, Z; Y$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
9 s8 [, D0 Y+ [3 X4 K9 S+ J7 p8 z3 s' t# E g' G
$exists 键是否存在 {finaGoalLine:{'$exists':true}}* \6 R, M+ A. F, s$ I' _
% |* M C+ }" t/ `* J, d
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
% w! K+ ^. _- r- O5 y2 F) v# O5 N6 S
" H# r! g% _* r7 v# p! c& D/ f$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
! w6 @3 J9 U' `8 X8 P$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3
: Z3 x6 _4 P w8 l: Z. \, g) u8 ?3 p3 v2 h! X
/ F9 Q8 N7 g) H; t; g. [
* ~$ [. e, ^2 k6 {+ ~/ p( @
+ F, k* {: S* e0 n% f+ n& [/ j0 U! P- [
8 C' V9 W6 E) X
1 x2 F' c5 N/ }1 |& J) W8 `, Y
/ c. b9 R( y+ c组合使用方法如下:4 _- V+ I9 z0 p5 x, j3 z
" _, K& I- a1 Y0 m6 |* o
db.user.find({"age":{"$gte":18,"$lte":25}})6 z2 o1 q, ? @/ c
3 u, O1 l& V, l+ y! S3 r1 X$ h% b4 x
5 `) q$ F- A0 V0 M$ T8 a- Y& F3 v$ l) v/ F! D# x ]- F
对于日期的条件查询方法:
6 b s$ ]! `* L
9 J6 p* N m- qdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})$ k% w" `4 r5 g0 R! K$ B8 I7 H8 A& R
$ e; j( c" X, u8 F6 m
2 b( f3 T, w" A+ Z9 _& C9 X5 b& C
4 M: p9 X: \( m% _' N9 a
2) 不等于 $ne
; q& G, R5 P! Q( p, m# K2 w: F+ M% N
例子: w2 d! Z5 n" K2 Y! `
9 T" h" F; e& e! @8 l/ ]- M7 Mdb.taobao.find( { age: { $ne : 10} } );7 U% l9 F) `% F! b3 F/ e) |: h: w
php7 查询mongodb方法大全1 b' l& N3 B. R. H! [/ e# n9 h
! g/ R6 p" S6 Y1 {2 R+ h( ^' B/ D5 J' x. J1 b3 @$ O% h6 t& |
( I; Z0 W j/ s/ m9 [1 I
: d0 V" o j* e: W8 ]
- ?# U' K2 r1 X/ t& n
2 u& x& a9 ~) C) [& ]
+ h) Y: {: h% [$ g! q3 f6 b) C. d; o, H" T) ]% [9 F6 r
$ t- M% j( h K) x3 m# q+ A- ?, h! @, A
' i5 X9 U- P) Y2 L z
7 k( ]5 r7 f/ \( F0 } g0 E
|
|