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: "运动" },
}
)
实际没有效果
2 个回复
hhyang - 如有问题,请添加QQ1606726660 备注付费咨询
报什么错误?需要咨询请添加我的联系方式
3***@qq.com (作者)
dbCmd.regex is not a function 直接报这个错误