管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
查询表中学生年级大于20,如下:
4 a4 ]3 c* ?5 S: E; t; [9 E% [6 J) l( g: y$ B
db.getCollection('student').find({'age':{'$gt':'20'}})/ b1 E9 C. e# \- Q
' c. N3 m9 A, v7 J: @$ R
2 e: F+ t" v3 y/ j1 a1 \ `. P$ _: r& v( g* y* [" k8 D9 {
$lt < (less than )
. p0 I: G# ~ `' g. Q* a$ b) m5 B/ j5 N; M0 k% D
$lte <= (less than or equal to )
2 J$ x b. l9 z1 w- o' G1 r# {9 k% k; p/ f) t
$gt > (greater than )1 E+ W3 M- O/ T7 N+ d3 q
% i' Y5 b, Q6 Q5 C k+ f$gte >= (greater than or equal to)+ N, v" I- X4 K8 u7 a9 w
7 ]3 \; D+ d! v9 H
, v1 S' E# p Q! T( t$ k, v- B; s2 O+ {1 h \ {4 f4 _/ I
$ne != (not equal to)不等于 {'age': {'$ne': 20}}8 c: j, Q3 ?' L c& T) t
& w( E1 ]# d1 o" j% z& o$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
8 i' ?. w7 |" I
# }/ G- U, T/ q5 w$ q# _! O$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list! v% i l$ y- R+ m
1 L4 Z; `1 x7 F, W: y2 m6 F% c+ }
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字3 V6 P+ B( S4 s! R6 p" ~
& O8 t: U% Y6 r$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
' N* {: H ?1 K' |4 g/ E
, Z+ H8 v+ r# @6 a: x- C* f+ _$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
( {" Y& k9 S' B. N( n+ J
' {" V: X4 E1 Y, ?2 s; Q. D$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
/ @; U3 g: V. g2 H/ D* Z/ e8 a0 S7 J. a) W+ v. h1 Q6 C* ?2 [
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})
* G$ [; p* Z: {) n& m$where 查询两个键的值是否相等 db.test.find({"$where": "this.fields1 == this.fields2"}).limit(10);! L2 v" B |4 `" ^9 p1 t
# b" b/ i- M9 F$ s( u3 Z
$exists 键是否存在 {finaGoalLine:{'$exists':true}}
1 U( ]: f8 T& X4 @' q& x- V. X, N
: k. N! h' m) s, V$all 如果您希望找到一个包含这两个元素的数组 [ 'tags' => [ '$all' => [ 'red' , 'blank' ]]]7 ~+ J. k0 Z9 |& X/ T5 x% f; p
6 t* \3 [) j4 E0 `' B* B5 k
$elemMatch 运算符在数组的元素上指定多个条件 'dim_cm' => ['$elemMatch' => [ '$gt' => 22,'$lt' => 30,],],
8 G' `9 j/ {: r7 f$ R8 n8 B$size 运算符按元素数查询数组 [ 'tags' => [ '$size' => 3 ( p* J8 j$ L6 ~, ^& W" T0 Z" s" H6 U
# ?0 r$ y% H, S3 d+ y8 D' ^
6 r% j0 E: {$ M6 k. S
# l# l- G) t* f' W+ L4 r1 H. J& T1 f- [9 P; o7 n8 J
* i/ N! e1 l! ?# M
& o2 G! f" W5 J
0 H# @% L1 y% O$ k1 ^: r3 w- L* Z9 q# V' J Y% q
组合使用方法如下:0 v+ o# i/ M% ^9 D0 _% q" K
) B# M P- K0 @$ h g2 S4 r
db.user.find({"age":{"$gte":18,"$lte":25}}); F1 U, f; E/ E: V1 P
% g" {4 v$ E8 Y8 N/ v% c! I4 g
( u! ~& A' t3 W0 Q9 E" N9 o# [& U
! k" r5 }0 \3 r' Z& j3 R对于日期的条件查询方法:
& h2 s7 O$ O# G* [7 F5 \" x$ {( Z- W& I, j; {
db.getCollection('news').find({'pub_date':{'$gte':'2017-07-11 11:0:0'}})- Q7 X9 X) _8 i5 O
; X. S0 Z- h; @
- ~9 {5 a* I& O4 ?: \
3 S, q& I# u: _& d6 u" [( c2) 不等于 $ne
- a' r0 L" [4 S Y. o1 v U: v# p3 N+ t: p9 A' a1 ^$ q6 K
例子:+ v9 O# C' O, L. U
* Y) W9 s: V* T' L: }1 d% ^! X( V
db.taobao.find( { age: { $ne : 10} } );- z6 l/ Z; y5 s! Q- {) q, J( F
php7 查询mongodb方法大全
" U- Z" Q/ _3 h- ~; v' `7 \4 T" c2 E m* E$ y3 v
- j! K, `0 f7 ~/ N6 n; s
5 F# j. f4 B8 g$ l* v* ~
, \0 M* Y6 O9 }, p2 G- r. N3 ]; U2 r! m" |
8 X7 L' y. M( i. y
' `8 V+ x' W/ w4 P/ q; R7 c
- }; p A/ r6 [- ]. T# J K$ `! l# h) @3 e
( }# W2 Z: b3 ^; S9 a! @& R' s; F8 b0 L. o9 f, N0 t) O
) d5 A7 G2 M( G; A0 v1 a1 ~
+ S; F5 Q2 i+ ?4 {/ }! ]
|
|