【发布时间】:2019-01-01 13:36:54
【问题描述】:
- MongoDB v4.0.2
- Grails 3.3.5
我有超过 2000 万条记录存储在一个集合中。我正在尝试在该集合中进行通配符搜索,如下所示...
def personList = Person.collection.find(['vehicleNumber': ['$regex':/.*GJ18AD.*/] ]).sort(["datetime":-1])
人物集合索引
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
}
通配符搜索还有其他方法吗?
【问题讨论】:
-
不使用 Grails 需要多长时间?
-
30 分钟后仍未获得结果。
-
如果在 mongo 控制台中运行相同的查询会怎样?
-
在一分钟内(查询看起来像 db.person.find({'vehicleNumber': {'$regex': /.*GJ18AD.*/}})
-
那么你应该在 GORM 中运行完全相同的查询:
Person.collection.find( vehicleNumber:[ $regex:/.*GJ18AD.*/ ] ).sort( datetime:-1 )
标签: mongodb grails grails-orm