3***@qq.com
3***@qq.com
  • 发布:2023-07-30 15:19
  • 更新:2023-07-30 18:57
  • 阅读:207

如何在聚合函数中使用正则

分类:uniCloud

db.collection('orders').aggregate()
.match({
完成: dbCmd.eq(true),
产品名称:dbCmd.regex(/运动/)
})regex
.group({
_id: shezhi,
入数量: $.sum('$数量')
})
//.count('total')
.lookup({
from: 'goods',
let: {
book_产品ID: '$_id.产品ID',
book_货位号: '$_id.货位号',
},
pipeline: $.pipeline()
.match(
dbCmd.expr($.eq(['$产品ID', '$$book_产品ID'])),

                    )  
                    .lookup({  
                        from: 'sell',  
                        let: {},  
                        pipeline: $.pipeline()  
                            .match(dbCmd.expr($.and(guolv)))  
                            .done(),  
                        as: 'count2_list',  
                    })  
                    .done(),  
                as: 'count1_list'  
            })  
            .project({  
                入数量: true,  
                info: $.arrayElemAt(['$count1_list', 0]),  
            })  
            .project({  
                id: "$info._id",  
                产品ID: "$info.产品ID",  
                产品名称: "$info.产品名称",  
                单位: "$info.单位",  
                规格: "$info.规格",  
                型号: "$info.型号",  
                货位号: "$_id.货位号",  
                启用: "$info.启用",  
                预警数量: "$info.预警数量",  
                入数量: true,  
                出数量: $.reduce({  
                    input: '$info.count2_list',  
                    initialValue: 0,  
                    in: $.sum(['$$value', '$$this.数量'])  
                }),  
                库存: $.subtract(['$入数量', $.reduce({  
                    input: '$info.count2_list',  
                    initialValue: 0,  
                    in: $.sum(['$$value', '$$this.数量'])  
                })])  
            })  
            .match(match)  
            .skip((page - 1) * limit)  
            .limit(limit)  
            .sort({  
                id: 1,  
            })  
            .end()  

这样写报错

根据ai给的代码
match 那里应该写成这样 db.collection('orders').aggregate()
.match(
// {完成: dbCmd.eq(true),}
{
完成: true,
产品名称: { $regex: "运动" },
}
)
实际没有效果

2023-07-30 15:19 负责人:无 分享
已邀请:
hhyang

hhyang - 如有问题,请添加QQ1606726660 备注付费咨询

报什么错误?需要咨询请添加我的联系方式

3***@qq.com

3***@qq.com (作者)

dbCmd.regex is not a function 直接报这个错误

要回复问题请先登录注册