管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
; y) ]) z- b$ I
& u4 }+ w1 s9 f2 ^( Y" E: idb.getCollection('student').find({'age':{'$gt':'20'}}): ?6 [; E+ I' g
$ d) n! `! ?5 |+ t: V! O
) |+ O7 X# ^" n7 b( ^0 m2 P8 E" o4 t& B, b# ?% A
$lt < (less than )
9 w0 c- R* y$ w3 I7 ]: a9 p
) n9 K+ |) t+ e3 C- k7 w5 C2 D$lte <= (less than or equal to )7 f+ W2 A; L- J# k, X
+ X5 _$ R+ H- ?, a! x0 M: i: [* D$gt > (greater than )
% N7 g! ?. t8 p/ P
2 i& a' }, l: A* y1 e$gte >= (greater than or equal to): F7 M' z5 n N( l5 k
L* |9 H2 ]( ?% E8 ]9 q" a# o9 N
3 y/ J& ?' X7 F6 b7 y- @' L/ m
- [& t; Q: _4 U+ \' X9 x' e$ b$ne != (not equal to)不等于 {'age': {'$ne': 20}}. v* z) | G% V! q+ Q7 v
$ j. O b& |' R- [9 Q1 h; v% T
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
! e. L8 k) n/ @9 B) ]9 [
7 L/ i4 c8 X7 R0 B$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
$ \7 d: k+ F" ^% H& e+ B1 v4 U8 e! Y1 _/ Y
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字0 V" n. k+ b7 v1 T, t
6 x D# L# c4 A4 _' a: @3 w& d$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在- f6 r b# n' m1 ^9 I
+ T6 h) S, P4 V1 w# x$ k- _' }$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
* ]. | D3 i7 |
. K# z* M; c% i7 F$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
. o! C, b; W- E1 F: u6 r: H& h% m6 R! x
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
$ `* Q2 _7 W4 h: K, B! M$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
" Z' Y; T, l4 O& o0 \' D
9 c/ D0 m% H1 L/ {0 E5 I" H b: n$exists 键是否存在 {finaGoalLine:{'$exists':true}}
1 `5 s0 L+ ^- u' y* b
1 n9 V! {/ N. r9 l$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
: Q, m" E1 x& M; d- X: H. y7 b' O# u2 j: b, ?5 N3 I
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
$ \' e1 [( s% y+ ~* B4 E# q$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 " K. [% d' L2 u- r% b& d
2 m9 k8 X7 K7 t
- T& h8 p- L6 I+ S( t7 r
/ O* t# u% ^3 S; c$ k! v
* S# Q, `$ T7 _' n# R U; t
, s& M- M2 ^! g# g" D% _3 ~/ F
0 A" I) k5 h+ x
T9 e7 \) ^# k
8 g- T' W! S/ k- M$ V1 h/ P G组合使用方法如下:0 F2 T; \* D8 t4 A
4 {# ^+ D2 u. U6 A' G+ B
db.user.find({"age":{"$gte":18,"$lte":25}})
! q( ^+ \2 c, q- |$ I
t, ]5 e g) P! ~: W& C* ~8 y4 N$ p6 \) @) X
3 `4 S% g8 [: l( n) c/ v8 N对于日期的条件查询方法:* ?" p! p# o# h$ d( i9 f: c
2 V; a3 K) H' _- g# C0 K
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})8 e* W& J- ?3 l8 z
" r0 [' W4 X; y. X. r- N; U+ Q! l1 G, Q* g$ J/ `
! `' a3 R \# h3 Q" t
2) 不等于 $ne& h; [$ R& J1 \- s' k+ P$ o
; D- D/ s; e) t m- [例子:/ S( i2 e! E# y2 m( E
6 s7 Q9 M$ [, |! W) @
db.taobao.find( { age: { $ne : 10} } );$ E' V" O. Z; z: }$ }7 {" _" `
php7 查询mongodb方法大全 n+ O1 K' d7 Q4 S
0 G) l! ?, H. @. S9 @2 o* K
0 ^/ O' s+ a; ^0 G( T8 O
' w# `* p$ O# u, _# P/ D! M% @
|/ Y+ |2 l1 i/ F7 J& z$ Q, D9 ?/ W. n( [8 V. r
! T) D% ~* _/ d& I/ z# Y
+ A; D7 ?4 J* ] c2 O f
2 ], L! r- o( L/ s1 t0 v# L
|8 l' ~( ?5 N5 H; w: e- J% a2 D, _ w
' f+ C- `3 y$ A5 Z; ]4 D( V, c0 ~* ]. _1 l C- Y, _4 T
|
|