模糊查询

记录如下:

{
    "_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开头的:

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

 

结果如下:

{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc"
}
{
    "_id" : ObjectId("5c3d486d24aa9a000526367b"),
    "name" : "fuc_1"
}
{
    "_id" : ObjectId("5c3d486d24aa9a001526367b"),
    "name" : "fuc_2"
}

  

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

db.getCollection('maps').find({"name" :{$regex: /map \(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"
}