管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
" P6 _# _3 h X( D6 @
" L: T; |2 A. p; z7 Rdb.getCollection('student').find({'age':{'$gt':'20'}})
- ?) e5 [# I, r# Y" q' o$ _: @8 N3 p
6 q) P- i' K# U [: ?
2 N) ]( y* H' i) I$lt < (less than )
; s) l* C' N/ v) g! w! U' L' j0 O! C; J. m! M# o
$lte <= (less than or equal to )
! G% L+ f+ v5 j X+ c
' M( u5 v- Z* R! i$ x$gt > (greater than )
4 k0 Q3 D! T; c! ~
3 F5 W/ D1 T9 q# b$gte >= (greater than or equal to)% i4 ^) q( V& ?0 ~3 U
7 K- ]5 V7 W- x4 _
* S8 r0 C' u, E1 J5 {
3 Y5 Z% _' C3 c& l. d: v% C- \2 m$ne != (not equal to)不等于 {'age': {'$ne': 20}}
9 Q0 o9 H% K: t/ c, I( d
/ ~2 x0 z+ F" u5 l+ k3 _2 q1 ?$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
" b% F$ V$ }) w& U/ W& _. @" l# p% X/ \4 L- u( ?
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list
0 n/ N* b/ N, r1 l3 y) U& e
: i8 R+ O( M* x$ ^; N$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
) b# A6 }# ] @. U* }" x' n, x
. J6 Z: B3 z1 p2 @1 m$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在) H U; }7 C( C& W- w
4 o- s1 R$ u* d; T$ b
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
8 S D, u6 N, w! R
! ]! N p3 H; x8 e# o$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串# B( {. D, ^* i1 ?- z3 J
, |. o; W% U' ]# _2 I, \4 a& I$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})4 E2 j& ]! }, @
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);
+ w/ _: H4 k5 \3 a; ]8 P5 q. C' E2 w" s# i6 l' ?7 G2 d
$exists 键是否存在 {finaGoalLine:{'$exists':true}}2 V0 B: t" k. _; Y, V9 v! Q
& A4 P2 A! {4 D, q* q1 X" K! }1 o1 E
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]
$ F$ J$ [7 z$ o8 ^7 m1 ^! l/ b. ^% w7 @- H
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],/ F( b, ~9 v5 c" I$ \
$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ! W2 J' x- X p. X, y+ p
b0 A/ ^( O/ Y- u @ i9 [$ O7 j6 ~. P' c' G/ J
; h( N, Y1 Y6 R
! ]! W2 x3 a1 t5 w6 X) O
- C% [8 \) n, p# M
% X- ^. w1 P' c1 ]) \! k1 t, O0 t6 [- ~/ t2 Y
9 C, _ B& @0 V* C! k F$ j7 d* |
组合使用方法如下:
3 a, G9 l/ _, i# H8 x
: f. S6 z! s9 z: q$ Pdb.user.find({"age":{"$gte":18,"$lte":25}})
5 ?9 P! }6 j* I# \" x! a8 p
D& |' s N2 v' K& y# }, s- @
- @: _9 {2 e5 ?6 _4 E( m! L) @7 R" {& @" v: \. J+ [
对于日期的条件查询方法:% @& h, J# L% c
) ?$ d2 u' M" M" W( r9 n: J
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})5 N1 D+ E# u: z* B- A4 m
m" t+ g# L9 K! h4 `: n- O+ D5 E
9 D8 A; g0 R* @. Y9 C9 s
2) 不等于 $ne$ H( X: x5 v$ q
# x; V3 N; P, g0 K* B7 l
例子:
4 c+ I( S5 m6 r; W! Y( w# C: F, \0 z7 ?2 j- n, R0 j
db.taobao.find( { age: { $ne : 10} } );8 B! ^/ b9 I) T4 F1 D
php7 查询mongodb方法大全) |# M) z& S$ P/ ~
1 {( t$ \% y$ r. n( X0 F3 V) W
5 a1 G3 A$ ?1 C' h
) }( J' P5 Y; K
1 `9 h5 m- W& I2 c) q" Q* g
/ m5 b5 t1 O' V m5 o: q& q+ r0 l5 y
- t- O" f# s$ R" r" u* e
4 e/ g, A6 N5 i, G" ~% c
: d; e$ p9 d% T' @/ W% c' x
% S$ R3 x7 s+ U$ Q4 ~# }
+ y' P' J$ @0 P: p0 ~7 c0 @5 z3 r. [! Y3 `
|
|