【发布时间】:2017-01-09 09:26:40
【问题描述】:
我需要提取与正则表达式匹配的字符串的一部分并将其返回。
我有一组文件,例如:
{"_id" :12121, "fileName" : "apple.doc"},
{"_id" :12125, "fileName" : "rap.txt"},
{"_id" :12126, "fileName" : "tap.pdf"},
{"_id" :12126, "fileName" : "cricket.txt"},
我需要提取所有文件扩展名并返回{".doc", ".txt", ".pdf"}。
我正在尝试使用 $regex 运算符来查找子字符串并汇总结果,但无法提取所需的部分并将其传递到管道中。
我尝试过这样的事情但没有成功:
aggregate([
{ $match: { "name": { $regex: '/\.[0-9a-z]+$/i', "$options": "i" } } },
{ $group: { _id: null, tot: { $push: "$name" } } }
])
【问题讨论】:
-
尝试传递
/\.\w+$/模式。 -
你使用的是什么环境? javascript?文本编辑器? ...
-
你试过什么?你遇到了什么问题?
-
谢谢大家。我已经更新了我的问题。我正在使用 MongoChef 编写查询。问题是如何提取扩展名?查找包含子字符串的名称不是问题
-
再次检查docs 的语法。请特别注意
'、/和$options
标签: regex mongodb mapreduce aggregation-framework