x***@163.com
x***@163.com
  • 发布:2025-02-16 15:05
  • 更新:2025-02-19 15:36
  • 阅读:39

<unicloud-db组件查询数组内的字段不能使用正则

分类:uniCloud

{
_id:'',
list:[{
name:"test"
}]
}

<unicloud-db ref='udb' :where="where" ></unicloud-db>

要求:根据keyword进行模糊查询:

这种写法可行:
where['list'] = db.command.elemMatch({
name: keyword
})

这种写法不可行,也就是不能使用正则表达式:
where['list'] = db.command.elemMatch({
name: new RegExp(${keyword}, 'i')
})

报错:code "SYSTEM_ERROR"
message "invalid $match"

怎么办?

2025-02-16 15:05 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

支付宝云服务空间吗?服务空间id发一下。

  • x***@163.com (作者)

    对的,支付宝云:SpaceId:

    env-00jxhk4kv98i

    2025-02-18 15:04

6***@qq.com

6***@qq.com

同问,我在unicloud云对象中,想使用const regex = new RegExp(keyword, 'i');
let wre = {
checked: true,
$or: [{
tabs: {
$elemMatch: {
$regex: regex1
}
}
}]
}
运行结果也报FaasError: invalid $match错误。我的也是支付宝云服务空间

要回复问题请先登录注册