模糊查询

记录如下:

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
{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc"
}
{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc_1"
}
{
    "_id" : ObjectId("5c3d486d24aa9a001526367b"),
    "name" : "fuc_2"
}
{
    "_id" : ObjectId("5c469cd27353b40005bcb67b"),
    "name" : "map (2)_2"
}
{
    "_id" : ObjectId("5c469cd27353b40005bcb67c"),
    "name" : "map (2)_3"
}
{
    "_id" : ObjectId("5c469cd37353b40005bcb67d"),
    "name" : "map (2)_4"
}
{
    "_id" : ObjectId("5c469cd37353b40005bcb67e"),
    "name" : "map (2)_5"
}

  

查询name以fuc开头的:

1
db.getCollection('maps').find({"name" :{$regex: /fuc/}})

 

结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc"
}
{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc_1"
}
{
    "_id" : ObjectId("5c3d486d24aa9a001526367b"),
    "name" : "fuc_2"
}

  

模糊查询中带有括号的,重点是将括号用反斜杠"\"进行转义

1
db.getCollection('maps').find({"name" :{$regex: /map \(2\)/}})

  

这样就能模糊查询出带有括号的记录了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
    "_id" : ObjectId("5c469cd27353b40005bcb67b"),
    "name" : "map (2)_2"
}
{
    "_id" : ObjectId("5c469cd27353b40005bcb67c"),
    "name" : "map (2)_3"
}
{
    "_id" : ObjectId("5c469cd37353b40005bcb67d"),
    "name" : "map (2)_4"
}
{
    "_id" : ObjectId("5c469cd37353b40005bcb67e"),
    "name" : "map (2)_5"
}