这节来说说mongodb条件操作符,"$lt", "$lte", "$gt", "$gte", "$ne"就是全部的比较操作符,对应于"<", "<=", ">", ">=","!="。

原子操作符:"$and“, "$or“, "$nor“。

or查询有两种方式:一种是用$in来查询一个键的多个值,另一种是用$or来完成多个键值的任意给定值。$in相当于SQL语句的in操作。

$nin不属于。

$not与正则表达式联合使用时候极其有用,用来查询哪些与特定模式不匹配的文档。

$slice相当于数组函数的切片,检索一个数组文档并获取数组的一部分。限制集合中大量元素节省带宽。理论上可以通过 limit() 和 skip() 函数来实现,但是,对于数组就无能为力了。 $slice可以指定两个参数。第一个参数表示要返回的元素总数。第二个参数是可选的。如果使用的话,第一个参数定义的是偏移量,而第二个参数是限定的个数。第二个参数还可以指定一个负数。

$mod取摸操作。

$size操作符允许对结果进行筛选,匹配指定的元素数的数组。

$exists操作符允许返回一个特定的对象。注意:当前版本$exists是无法使用索引的,因此,使用它需要全表扫描。

$type操作符允许基于BSON类型来匹配结果。

1. 插入一些数据

 
1
2
3
4
5
ttlsa_com
ttlsa_com
)
)
)

2. $gt (greater than)

 
1
2
3
4
5
6
7
8
9
)
[
{
,
,
,
2010
}
]

3. $gte(greater than or equal to)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
)
[
{
,
,
,
1999
,
{
,
,
,
2010
}
]

4. $lt (less than)

 
1
2
3
4
5
6
7
8
9
)
[
{
,
,
,
1982
}
]

5. $lte (less than or equal to)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
)
[
{
,
,
,
1999
,
{
,
,
,
1982
}
]

6. 组合使用

 
1
2
3
4
5
6
7
8
9
)
[
{
,
,
,
1999
}
]

7. $ne (not equals)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
)
[
{
,
,
,
,
[
,
,
,
,
,
]
,
{
,
,
,
1982
,
{
,
,
,
2010
}
]
)
[
{
,
,
,
1982
,
{
,
,
,
2010
}
]

8. $in/$or

 
1
2
3
4
5
6
7
8
9
)
[
{
,
,
,
1999
}
]

 

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
)
[
{
,
,
,
,
[
,
,
,
,
,
]
}
]

9. $nin

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
)
[
{
,
,
,
1999
,
{
,
,
,
1982
,
{
,
,
,
2010
}
]
)
[
{
,
,
,
1982
,
{
,
,
,
2010
}
]

10.  $all

与$in有点相似,只不过$all是所有属性要与文档匹配。$in只匹配其一就行。

 
1
2
)
]

11.  多个表达式

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
)
[
{
,
,
,
,
,
[
,
,
]
,
{
,
,
,
2010
}
]

 

 
1
2
3
4
5
6
7
8
9
)
[
{
,
,
,
2010
}
]

11. 切片

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
)
[
{
,
,
,
,
[
,
,
,
,
,
]
}
]
)
[
{
,
,
,
,
[
,
,
]
}
]
)
[
{
,
,
,
,
[
,
,
]
}
]
)
[
{
,
,
,
,
[
,
,
]
}
]
)
[
{
,
,
,
,
[
,
,
,
]
}
]

12. $mod

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
)
[
{
,
,
,
1982
,
{
,
,
,
2010
}
]
 
)
[
{
,
,
,
,
[
,
,
,
,
,
]
}
]

13. $size

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
)
[
{
,
,
,
,
[
{
,
,
,
{
,
,
}
]
}
]
)
]
)
[
{
,
,
,
,
[
,
,
,
,
,
]
}
]

14. $exists

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
)
[
{
,
,
,
,
,
[
,
,
]
}
]
)
[
{
,
,
,
,
{
,
,
,
,
[
{
,
,
,
{
,
,
}
]
,
{
,
,
,
,
[
,
,
,
,
,
]
,
{
,
,
,
1982
,
{
,
,
,
2010
}
]

15. $type

根据BSON类型来检索集合中匹配的结果。

MongoDB中可以使用的类型如下表所示:

类型描述 类型值
Double 1
String 2
Object 3
Array 4
Binary data 5
Object id 7
Boolean 8
Date 9
Null 10
Regular expression 11
JavaScript code 13
Symbol 14
JavaScript code with scope 15
32-bit integer 16
Timestamp 17
64-bit integer 18
Min key 255
Max key 127

下面这个实例是查询嵌入对象。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
)
[
{
,
,
,
,
[
{
,
,
,
{
,
,
}
]
}
]

 

相关文章: