管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
5 `* F6 L" C; S0 E; L# H
0 {+ s3 S, ^! f9 Edb.getCollection('student').find({'age':{'$gt':'20'}})9 \$ V$ J& J! G
8 }9 j9 |7 {9 S5 `8 l+ c# ^
+ K/ A" K) P( f( Y d `1 v& I' b# }4 O- X0 W5 G% Q5 m
$lt < (less than )
3 s$ R- i6 N( Q3 X& T. H
. z0 D% F" }: h6 H8 c* t$lte <= (less than or equal to )5 ?* m7 D. }& N. Y3 q( e! l5 r
# v1 u9 Q$ C2 V$ O3 ]1 X! E6 L
$gt > (greater than )
. [' U1 A+ e& p) m& [+ D- j
% n& ]: z; n4 L( \) l f+ j$gte >= (greater than or equal to)& k1 }6 v# ?/ ^. l' F3 M8 o
$ @' N9 i* h1 l% X+ }3 ^
% F7 O* p2 |6 n
v- Y) M# U2 m% z
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
3 p. n3 i9 D' g2 D+ J" X) ]
) n! s, e' i/ ]; n. d2 C- K$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
' s5 q9 ^) z- w: w4 u& q7 J! @+ j! [
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list0 w6 Z6 T( q5 f
- j( k' p8 T- }1 N/ l7 \6 j
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字- }+ S' c ?4 q3 B: I
6 J9 ?. [' m+ V$ n( U' s( k9 Z$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在$ [! f! }, m/ Y8 h' x' Q& o. A
! f0 t. x! \8 p# E' P& ]
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int# ~5 }3 k) x- N9 w! v: M* I
& B) k) @' S; E6 P3 N$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
& R) J7 Q* p+ K. \, f$ L9 P$ r1 ]! V2 ]: v& |5 q
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})/ E' x( L* y |
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
* T, V( s) s* s! t7 w, t/ l6 c# b, ~" Y+ T+ \- a/ U" ?
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
+ ~/ }6 e) `' }& {
# h. ?0 r4 i+ H4 r$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]' d2 N$ x! i+ T. h9 X
% @* C* g' p+ |. o5 Q
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
4 u; O/ N# z* R2 u% u! ~4 k$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 3 P6 G! ^# [4 F/ g
) S9 w9 t& ?* u* ]! _
6 G7 @$ e1 J( r. z* e o0 K: W# a# x* A* E0 z
' ?6 w1 k. n z( R# ]7 l
5 G5 j' b: {$ q3 H
9 \$ D) ~: C5 h
$ {" Y5 y' V* F: }
2 h6 V2 H' Q) f4 U6 j( f; h组合使用方法如下:
& Z ~% f- d5 R" f: s& }
% S9 C8 r. C3 P; X: Fdb.user.find({"age":{"$gte":18,"$lte":25}})
5 o$ I. Z$ T" q0 r- E) |
. R9 h- V- H3 `) J6 m1 f( p9 h: Q" z2 Q
+ K) }" P: Z8 s7 l/ p5 Z5 N- `$ O
对于日期的条件查询方法:: p$ z% d2 m5 z4 P1 B8 f9 N
: S% t+ u5 u1 X4 [, f ?. B" s: ^db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})0 d. |* n( T9 t/ L# c" T
^- E; c% g/ Z0 i; O' n
. A* L [8 }: @! b1 _% ?. v$ }
, ]) [/ d) @# [8 p# p; s2) 不等于 $ne% ~. ^5 y1 A' x6 A& y* s
* A _, W; g! n; Z/ E8 o. U
例子:
6 Q$ d5 b4 O5 w$ L! I9 C( v7 x' L1 v# P4 e! X0 e" u1 S7 ]
db.taobao.find( { age: { $ne : 10} } );
( R* I0 Z7 q0 _6 pphp7 查询mongodb方法大全
7 o9 ]2 n6 U% W; x: A; T) e+ T& u+ a% T" }! |2 c( ]
$ H7 T# Y, [$ R3 o5 f* `4 ^4 A2 l5 N* m
) X' [ Q; e6 c/ r# ~: I( i
( S- F Z# ~- K3 P4 S# _1 P# ?4 Q3 k/ ^+ i
# j: r5 {6 i. z: u- @- X
% w1 C- _1 {: X
7 W, G; j' \1 @+ H- m" n4 l
+ q C( C. i5 D9 P9 g- @+ J# Q' M9 H j8 ?3 y+ v
' f: e4 i, X0 G# Z( ~ |
|