gpt4 book ai didi

mongodb - 使用Grails的MongoDB WildCard查询花费太多时间

转载 作者:行者123 更新时间:2023-12-02 14:48:24 24 4
gpt4 key购买 nike

  • 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
    }

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

    最佳答案

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

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

     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版中对我有用。

    关于mongodb - 使用Grails的MongoDB WildCard查询花费太多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53995895/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com