在MongoDB 4.4中,您可以使用正则表达式从字符串中提取关键字,并使用$addFields操作符将提取的关键字显示到新列上。

假设您有一个名为"products"的集合,其中包含一个名为"description"的字段,您希望从该字段中提取关键字并将其显示到一个名为"keywords"的新列上。以下是一个示例查询:

db.products.aggregate([
  {
    $addFields: {
      keywords: {
        $regexFindAll: {
          input: "$description",
          regex: "\\w+"
        }
      }
    }
  }
])

在上面的查询中,我们使用$addFields操作符来添加一个名为"keywords"的新列。在该操作符中,我们使用$regexFindAll操作符来从"description"字段中提取关键字。$regexFindAll操作符接受两个参数:input和regex。input参数指定要提取关键字的字段,而regex参数指定用于提取关键字的正则表达式。

在上面的示例中,我们使用了简单的正则表达式"\w+"来匹配任何字母、数字或下划线字符。您可以根据自己的需求调整正则表达式。

执行上述查询后,将会在每个文档中添加一个名为"keywords"的新列,其中包含从"description"字段提取的关键字。

注意:在MongoDB 4.4之前的版本中,您可以使用$regexFind操作符来实现类似的功能

mongo44使用正则表达式从字符串中提取关键字使用$addFields显示到新列上

原文地址: https://www.cveoy.top/t/topic/ipLR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录