mongo44使用正则表达式从字符串中提取关键字使用$addFields显示到新列上
在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操作符来实现类似的功能
原文地址: https://www.cveoy.top/t/topic/ipLR 著作权归作者所有。请勿转载和采集!