管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:2 @0 D& K; A9 Y; K# p: p
+ L1 n. f4 V$ N; C" Z3 f7 W
db.getCollection('student').find({'age':{'$gt':'20'}})) } F% ]$ B, b1 n, C% ^. a9 v7 v1 c
' d4 v; p0 T4 J1 x+ J+ V7 ^ L
1 v) L; s, d7 C! x4 l# B$ H
( W7 P2 F, ?6 i$ B5 M! a$lt < (less than )& f; j, v- A- B# D) o* |
4 Q4 w2 e, \" z2 O# t$ p2 O
$lte <= (less than or equal to )* `: ~: V% ^* h3 C, k
* J7 L% h3 C4 X- I% V6 T$gt > (greater than )
- H8 ^) I/ F( d8 G6 c$ i# i+ A1 _7 A& E, m \/ f% R$ M
$gte >= (greater than or equal to)2 y4 r; o6 L! s# q
4 n, P A4 I. V* } {* u% U
' ?# @. g# Z7 \ D; L7 `5 w+ v2 d% o" } Q G" t
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
- {/ b `6 ^7 X! `" I/ h/ ~( x# S0 J# u' P# b* p3 L' D% h$ G4 x
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list9 u4 d* b F" j4 t! s! A0 N
8 v8 W9 O% x& X$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list( `9 h ]/ G: v$ z; `9 N5 n
! H& `3 ?8 q0 _. G1 A$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
3 U( J' Q9 m- \: r; T9 Z1 c9 @
r( a7 R# _1 O) z6 S$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在4 h# Y( B, A' r- A# B7 f
$ U) |( a: h, r9 m4 ?
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int2 q& u Q* _9 b2 b
8 p$ {' q( B. V: D) h# _! V% c
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
+ V D0 l( Z+ M; d$ d, @
9 ]$ q; O/ T5 i1 T( y* a/ c4 s$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})2 [- |: x$ y4 Q% e# ~
$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);- U% d& a/ s! d
: J# }8 e$ J+ f9 {3 ]- O$exists 键是否存在 {finaGoalLine:{'$exists':true}}! [- J. _, y# d2 e* q* P. |& N
& X4 f% W$ u; J1 a# V; }
$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]: R s% S; }1 T/ k# l1 @
; Y) i7 j5 C, J; u) e8 Y. o4 z$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
8 b) X7 Y. E c$ G3 h$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ! i' m6 M7 K) Q; n7 I' e
2 X- |8 p, ]* o( U) o7 U0 q- g6 D! z6 U2 ^4 Q
& y8 C& v8 U! S. e
0 T Q1 f) h- @% v6 V
, {3 J% s7 V" ]- r
v8 b& O" `0 i, r! {
' F4 ^4 P* j( N' [- p% y/ y7 P) R- l
9 H+ ?) Q" k$ n组合使用方法如下:4 F* v% @' U% x. r) g+ S
) H& \" a9 [7 n6 l0 d1 ^0 B. z9 s
db.user.find({"age":{"$gte":18,"$lte":25}})
- X9 Y' R9 J T% z' Q; [
9 ?0 j9 T! l2 t& O: M( `' H8 L3 m4 }; z' g: o
7 A% R8 C. F& p) g9 p对于日期的条件查询方法:
# j H" W7 N! ^& ^# e) g
# b8 Y4 b3 q2 V. t; zdb.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})7 ~4 w, K) R' D
1 ]& j' b! G; H$ _: U7 @$ J# O. t; O3 k2 l+ D4 y' g7 h
/ b G% ]+ _& V9 a, \/ ]& e
2) 不等于 $ne2 \5 g2 t; `2 g5 T- l
; R% r5 ]4 {4 h" M. O例子:
) F" ]- g9 [' E7 Z8 B
( S5 B# ]4 o+ L& Mdb.taobao.find( { age: { $ne : 10} } );6 A0 C! W0 n/ b4 W L
php7 查询mongodb方法大全/ C; \) ]: v8 t, B8 H
% O+ ^/ j4 y+ a
9 m5 p. z8 V+ N0 } E
+ ?; D z4 y: v* [8 V4 ~" r+ N
2 M. @# }, k1 }! v( }1 A1 j1 t
" T- r. n, K+ L! i
' b$ U( t. u( d8 A- k- A0 z E# c+ @3 O* G- q" w8 L! ^; c( O1 s6 i
4 ^, R7 P6 O! r" I! a. [1 l t: y7 P$ O6 J7 ]+ |9 g% q
+ Y/ ], V! Q0 C, k- u
6 v, X' o. o! ]0 q
3 N, A& e3 a% b, B |
|