管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
& Z+ k+ z `1 x) q7 s* l- g: t. H1 n( [7 |4 t1 O# _
db.getCollection('student').find({'age':{'$gt':'20'}})
" B. X# O& ?* \0 b/ }+ m G4 `" F
8 K0 t! O; B/ P& S r; K3 u( Q4 j E) ?/ V W5 O6 d
$lt < (less than )6 N3 H$ b: D3 [. }- b% G) B" |
/ Z8 W' \. W' f' s+ G1 V' ~ I _, D' ^
$lte <= (less than or equal to )* D k3 q/ W) k/ y! d: h
0 k- y7 c0 Q! Q4 I$gt > (greater than )
: F5 L/ w0 e* \; r" d3 I3 h, t! d+ ]0 N7 Q! Q
$gte >= (greater than or equal to)( ^7 A+ A5 a( p5 L4 K' S3 m" `
$ g$ d5 h2 u) {, I3 i+ k C( ~% @' _
g- W& C9 ~! V7 `5 C: D9 D4 [" C' p3 v$ S% [3 c% W4 u9 R
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
( F i" W8 m0 _) _2 M. p
7 x9 M/ t9 L! n2 a! k1 z" |$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
- M' S* W$ d! q* U( B; `1 ]- u. I3 r9 Q/ i2 @. g+ ^5 X/ n
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list2 z n* P9 h( j0 b& h
* T' }3 [- x' r" T
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字8 X3 G7 m% d# }( M( R. p0 V
% B5 U7 R2 r# Y: u2 o$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在% C) H. _4 v8 }2 k( x9 }% n# \( ^
{' h+ k% Q* y. ]) z
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int' [' m: \9 d$ J2 D5 i i
- L7 r3 I+ B# m# L$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串% ^/ c9 H3 J3 `! Y) H
. M2 D% d0 a! e: L" C W0 w$ c1 K$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})4 x' q5 \. t4 Z' ?& d
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);! q8 k( V- J% w3 H# o
) B: n+ s8 p2 v# N% ?( L; B, Y* ~$exists 键是否存在 {finaGoalLine:{'$exists':true}}1 {% `6 m+ b3 S1 Z4 {; n' Y) m" [
5 Q4 q! f \& d' z6 d$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
9 o* O% u/ t9 E: ?
+ N# A& V, f7 c' D+ p$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
) ]: c. P* h c0 V! V$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 7 U6 E7 {9 F X* s
5 p+ w' q4 _ a7 `7 A! O: a. U9 K" C+ V) W; ^* S/ R. A
% k7 x5 f3 R1 s0 x$ \- K, E) \4 C# U
7 e" j7 [# s: ^. Q: T, F8 I) i' @3 E1 h$ u
7 C4 Z( \6 u- v1 }; B8 ^+ C0 S z/ A4 h! [
& w( e H( o: i' u
组合使用方法如下: {: R% |- q% J1 ^: o
* M' \& t7 a, ?/ o+ _6 B j, w& c! ]
db.user.find({"age":{"$gte":18,"$lte":25}})/ ~7 H$ m0 N6 L- [, p3 K- Y. }
( K# m7 L3 b9 {1 e6 g) n
# \4 {7 t+ u1 k! o: b. u
7 {: r. N/ z) e8 B' j+ A对于日期的条件查询方法:) D7 W' W/ a1 f, O: h; |7 V# ~) n% G
9 w) O! z! P% q; l* g
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
5 O% T1 Q" e( W3 O, e6 e7 e8 w- H' a) m. K, x
) f/ a4 U6 Z! A2 l% c
4 m$ q2 E1 j- i5 U2) 不等于 $ne3 G4 F( t; \# L6 d/ t
2 ?3 W8 a q0 c- Y! a* Q( h3 t, _例子:' ~, ~$ c) C+ K! {" ]
" y2 i7 _) k* Z( `) K% |4 G
db.taobao.find( { age: { $ne : 10} } );+ Z0 C- l9 I2 c ^. S
php7 查询mongodb方法大全
8 w( K' C/ y5 R8 c; [( h# b; b7 T8 |, V6 c2 R
" Q1 q% T& i: H& ^4 {2 E8 M' q3 j+ ?0 d3 ?% m
U4 j- y9 I2 |
1 w& ^/ m0 k# i! O3 ~- d* t' n$ l0 i
* q4 S( [4 T1 J( k' u, f. ~& @2 N8 ?, a* m6 F! Y% W
# p& H) I# l7 T+ O! X% Q+ X
; E: g @) N1 O/ ?
+ c* ^6 t9 Y8 z) h2 `0 f
5 _$ e" A( a" t. [: E( S/ w' [ |
|