MongoDB WildCard查询使用Grails花费了太多时间

时间:2019-01-01 13:36:55

标签: mongodb grails gorm

  • MongoDB v4.0.2
  • Grails 3.3.5

我已经在一个集合中存储了超过2000万条记录。我正在尝试如下通配搜索集合中的内容...

db.person.getIndexes()
{
    "v" : 2,
    "key" : {
        "vehicleNumber" : 1
    },
    "name" : "vehicleNumber_1",
    "ns" : "analytics.person",
    "weights" : {
        "numberPlate" : 1
    },
    "default_language" : "english",
    "language_override" : "language",
    "textIndexVersion" : 3
}

人员收集索引

rects = dlib.simple_object_detector(image)

for rect in rects:
   shape = dlib.shape_predictor(image, rect)

通配符搜索还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

索引编制中不需要任何更改。但是我要传递给集合的过滤器对象中的细微变化。

以前,我使用以下过滤器对象语法:

 def personList = Person.collection.find(['vehicleNumber': ['$regex':/.*GJ18AD.*/] ]).sort(['datetime':-1])

然后我只更改了上面语法中的正则表达式:

def personList = Person.collection.find(['vehicleNumber': ['$regex':'.*GJ18AD.*'] ]).sort(['datetime':-1])

它在MongoDB 4.2.1版中对我有用。