gpt4 book ai didi

regex - $regex 与 find() 和 update() mongoose 的工作方式不同

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:50 24 4
gpt4 key购买 nike

我有以下正则表达式用于查找文本片段中的链接。

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'}})

有人可以指出正则表达式的使用有什么区别(如果有的话)。

最佳答案

如果您希望更新不仅仅应用于第一个匹配项,您需要提供{multi: true}选项。

Table.update({text: { $regex: searchQuery, $options: 'xi' }},
{$set: {tags: 'bookmark'}},
{multi: true})

关于regex - $regex 与 find() 和 update() mongoose 的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com