管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
7 Y# I6 P) {/ q5 h! `! H8 n, V; \5 _6 f
db.getCollection('student').find({'age':{'$gt':'20'}})+ \' H: v" f: V9 Z5 R
7 m2 m1 N, O2 @$ u3 Q) q9 o4 u. x
, N* ~) ?# d' a" H- t$lt < (less than )
+ m2 v$ u& ~2 u9 C( \* p; [
# L5 h* C4 V$ x2 B, h$lte <= (less than or equal to )
; o. l- P! z1 Y/ W# [5 ^: P/ g7 v
$gt > (greater than )
) O$ G3 ]# r3 s7 L" h. c; j& [) ^9 D9 W: Y' V
$gte >= (greater than or equal to)6 O# U* x4 s1 x( Z( D; V
: S, F/ P) F1 g! z; i i
% F& B' F" }4 U9 L. O) a) n4 y" x D ]% f
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
5 X/ q; ^: b" Y2 t& {% |
1 b5 Q& Z# @1 D% A$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
/ Q4 a% }! v9 V/ d3 P6 e A
8 ~4 C1 h2 n! o( v$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list% s$ t ^! V( k1 L
, M$ O3 F. Z, n0 P# U: p) w/ ?2 X$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字* p8 h$ W: \; [0 H- H% i' d
4 g2 ]1 _4 p+ \! Z$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在6 A9 E! R% ~3 {6 z v6 |! S$ S: Z
* r: e% W! Q/ e3 L+ M
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
. d q2 b1 G% g
2 r; m4 D& h. k9 h) `$ h$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串$ L7 ?, {, T5 f* {) q
b G- f) w+ h5 v! f& u
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
7 G" q2 X: A% |8 l4 L$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
: w$ |( ^; {4 Y+ P6 \8 Z
2 o3 v8 _" P+ E1 B1 _) t$exists 键是否存在 {finaGoalLine:{'$exists':true}}
- Y0 l" x& f( L6 L3 W& C
7 y( k, n* l6 ?- k$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
6 p& k7 Z0 h/ F/ i: c/ _1 X4 b0 x5 b8 X
3 J1 R( ]. Q9 a# ]/ k$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
; @9 A% L; P; U$ X5 o' N% c2 _$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ' A+ t: T) _! j' C9 R
- y `, M; l( I) `0 V
: W2 m8 ?) K# R) d
, K# E- h4 g- r1 r- \4 k v
' x4 x: [% f2 y1 F
6 \ ]) t- ]* H8 U) U3 j9 j
: E5 h6 }1 n/ M6 l1 E6 C4 ~ n" m! y# t4 P
! C0 j9 i' h% Q+ `6 w, c0 b( a组合使用方法如下:+ F( i- Z( L+ L4 A( W6 _6 r, B
0 f7 d+ |0 ~9 |7 A# V4 e; w' c; Adb.user.find({"age":{"$gte":18,"$lte":25}})
; q6 A3 p4 ^, o x5 j5 N% {0 E6 {' v2 o8 ^3 L
! a d! C$ Q0 G t( S% ]2 h4 q0 z) G" q h
对于日期的条件查询方法:- D; c" C. s# {( Z0 h
- q" w" s; k* `% ~2 \db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
3 h) Z% _# [/ S1 H. E d, l, G. Z8 h( M! O# G( y; ]
: B+ f% o+ v) t" J$ i( d
/ W3 I: @. z9 t& H5 U+ U0 W2) 不等于 $ne
: } v: G4 f P( b# e0 J+ p1 _/ _2 o( J: R. E9 A5 X. R
例子:: }6 K& \8 z- P4 p4 L- ~3 o
& S1 U, _+ }. m, @0 Wdb.taobao.find( { age: { $ne : 10} } );' N+ e B# E2 y0 Q
php7 查询mongodb方法大全
5 o+ K: c6 t0 p( H5 K6 q2 t* H# @/ h; d4 D/ F; T" W1 Y
0 L$ O5 v# q0 y3 o# @; Z* {' U
% F, W8 H. i0 h3 Z9 _4 Z' V' R; |1 J5 B
. z0 U& K0 M' n6 D
- p% d. e, d+ m- y6 J
/ j1 o+ P5 O; A/ |
5 J, }5 A. ~) N* S0 W2 t* B) v2 {/ h$ M3 H
/ N- C. d- f% ?) _/ X/ H4 u; }: @$ E$ m
5 i, S6 a$ H0 I/ X6 F% w& G7 d
|
|