我有以下正则表达式来查找文本片段中的链接。
var searchQuery = /(^|\s|\n|>)(ftp|http[s]?):\/\/.*/gm;
当我在find()中使用它时,我会说11场比赛:
Table.find({ text : { $regex: searchQuery, $options: 'xi' }})
但是当我使用update()时,我只得到1个匹配:
Table.update({ text : { $regex: searchQuery, $options: 'xi' }},
{$set: {tags: 'bookmark'}})
有人可以指出正则表达式的使用有何不同(如果有的话)。
答案 0 :(得分:3)
如果您希望update
不仅仅适用于第一次匹配,则需要提供{multi: true}
选项。
Table.update({text: { $regex: searchQuery, $options: 'xi' }},
{$set: {tags: 'bookmark'}},
{multi: true})