首页 > 解决方案 > 使用正则表达式在 MongoDB 中进行批量搜索

问题描述

我在使用正则表达式的 mongodb 中进行批量搜索时遇到问题。

在 SQL 中,我们通过在条件中使用 Like 运算符与 accounts\subject 表连接来实现此批量搜索。但是在 Mongo 中,我们无法做到这一点。我们确实在管道中探索了 Lookup 聚合的选项,但徒劳无功。Mongo 查询中的正则表达式必须硬编码为文字。不支持动态或字段值。

到目前为止,我们只有一种方法可以逐个查询单个项目。但我正在寻找有效的方法。

请让我们知道是否有任何其他方法可以在 Mongo Db 中实现这一点。

例如,从下表中,我们必须搜索“搜索值”列中的所有值,并且单个匹配的结果应映射到相应的源报告编号。此外,所有搜索都是通配符搜索。例如,如果帐号是 12345,我们将不得不搜索12345

Example :

    Report Num  Search By       Search Value
    MER-1ABC    Account Number  1234567
    MER-1ABC    Name            QWERTY POIUYT
    MER-1ABC    Name            QWERTY
  
I search for '1234567 or QWERTY POIUYT or QWERTY'
Let say result is "Stack Overflow is good"

Final Result
Key                            Value
MER-1ABC           "Stack Overflow is good"
MER-1ABC           "Stack Overflow is good" 
MER-1ABC           "Stack Overflow is good"

标签: sqlmongodbmongodb-query

解决方案


推荐阅读