$ regex与find()和update()mongoose的工作方式不同
我有以下正则expression式查找文本片段中的链接。
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'}})
有人能指出正则expression式的用法(如果有的话)有什么区别。
如果你想update
申请不仅仅是第一场比赛,你需要提供{multi: true}
选项。
Table.update({text: { $regex: searchQuery, $options: 'xi' }}, {$set: {tags: 'bookmark'}}, {multi: true})