管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:0 G I0 {: O4 n/ E9 w
7 u# f% { S; Z3 g0 x& Q3 fdb.getCollection('student').find({'age':{'$gt':'20'}})+ v! u) @4 O+ {1 G9 ^5 q
( I4 u' o2 B# Y/ U$ w
& n; a# n' M: V$ v6 e, H1 I0 n5 C
d" q7 B: Z" C+ H: d$lt < (less than )
- R2 g n" t, p1 `2 k, t; X* b& J$ {
$lte <= (less than or equal to )3 h5 n! \/ [" g) q/ Q+ ^+ N I/ d
; S0 P6 ^. o/ O1 _& F. r0 w: ?
$gt > (greater than ); w, @3 m) R E3 ]" J
4 S; J: d; X7 o J& _0 j$gte >= (greater than or equal to)/ w C; I* ~( i: D- C
m5 o5 ?, X, `4 _0 e3 k
! E0 Q% g$ `$ V# _; a
+ k$ R h9 {- j+ Z+ ]7 g: B$ne != (not equal to)不等于 {'age': {'$ne': 20}}
. H% T+ A# n! c
* a: v/ K. g# h% B7 j$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list0 ^( H: _) P0 U# N
- b0 Z. _: t1 H" V5 T- ]
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list1 u8 X- V F4 {& ]- [5 _
_* V% }# x! z* f, [ x
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
1 G, m+ f; b a3 K: u7 M% Y* i: I/ L4 R
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
8 X1 z& {+ D4 d* u% P9 l
* e, e2 t5 V h4 ]3 x) }$type 类型判断 {'age': {'$type': 'int'}} age的类型为int* f5 K- u% ?2 c$ T! x
2 x# g5 N* z0 k6 y$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串8 H: p' r6 }5 B& N; w ?' _9 G/ C
g) f- v' }3 Y6 l$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})% q$ ]& N x1 a8 u6 F
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
& z" x: C5 n+ C b6 X8 x% M/ H$ ~9 [0 E8 q: S
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
+ w. S+ o6 Z% Y x1 d3 x
' L; {: [5 m; R, j c5 ^$ G. b" L2 Z$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
1 B g; M5 r, n# v9 k
' m' _. f7 f9 a$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],* j! H8 ]& d; X- V5 H+ c
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 9 j$ y/ _, x8 ?6 k9 ^
: s$ p3 ]( j$ B/ K
; r3 Y o% p P/ h) \4 d# G; E0 C0 B3 g/ J& k( f1 D
8 X# |8 @: `1 q9 L3 w) p! D( `
: C* w5 O! k, ^; Y2 w1 c! p
/ C( _1 l3 ` m3 z3 m0 j3 V2 K
" P# c* ^$ c! g G7 [$ O4 A' O; |9 y8 X
组合使用方法如下:
* L8 m! r- X- W0 l/ k
5 @8 i. n: }' j) `0 e2 n+ {db.user.find({"age":{"$gte":18,"$lte":25}})) l( E6 V1 n7 A+ T0 E' Q
9 ?2 ~& _: h3 s- H8 s3 {+ J
0 u" A( K/ q0 \# F6 _
; z6 I' c! N/ ^# G对于日期的条件查询方法:
, R6 Y+ ?" H3 W! Q1 C( C9 A$ t8 {1 ]* [$ q, S
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})
- ]5 p1 F( Q( r$ f) W0 l- }0 e* G. Z% s. a
+ y) ^3 L) h, i7 ~; X, b7 h
8 O2 I7 ^0 v6 v2) 不等于 $ne
2 L- |! F8 q6 a5 Z: b" ^: t: P+ i5 R( M8 K" Z
例子:
; w$ i3 x4 Z/ s2 l' l; L* I3 W. G& L" c, _ y
db.taobao.find( { age: { $ne : 10} } );: S0 r! l2 I( S" G# e0 X& b) N
php7 查询mongodb方法大全
& V: t, F( M0 ` i2 D4 \# c1 ]) o* J0 w5 v/ l
& K/ g5 C; l+ v/ E/ s6 m& R3 V: _% M$ L7 v5 e) O; N
8 J8 o2 l( \1 g, o: z& J" F3 z
5 L2 J* ?0 e ~3 b2 k% @) @+ b: C0 {
1 W- x1 _# G1 N4 m- o s
6 t! @( b; Z0 M5 t3 I8 ~: o9 g8 d
( _1 X; }3 k0 f! x* }/ E5 r" y+ { k
3 ]7 {% H- t# _
+ U) G5 z8 C, y# K0 @! I* G" _" C3 e2 g/ @
|
|