按照提示代码进行复现

咸虾米
- 发布:2025-05-15 23:02
- 更新:2025-05-15 23:02
- 阅读:15
产品分类: uniCloud/支付宝小程序云
操作步骤:
预期结果:
可以使用filter进行数组过滤
可以使用filter进行数组过滤
实际结果:
聚合内不支持$.filter,导致查询出的结果为null
聚合内不支持$.filter,导致查询出的结果为null
bug描述:
async demo(status=1){
let res = await dbJQL.collection("JLJ-pay-orders").aggregate()
.match(`order_status == ${status}`)
.unwind('$goods_list') // 展开goods_list数组
.lookup({
from: "JLJ-mall-goods",
let: {
goods_id: '$goods_list.goods_id',
sku_id: '$goods_list.sku_id'
},
pipeline: $.pipeline()
.match(dbCmd.expr($.eq(['$_id', '$$goods_id'])))
.project({
name: 1,
sku: $.filter({
input: '$sku',
as: 'item',
cond: $.eq(['$$item._id', '$$sku_id'])
})
})
.done(),
as: "goodsInfo"
})
.sample({
size: 5
})
.skip(1)
.end()
return res;
}
上面写法格式,想要对字段进行过滤,但是支付宝云不支持数据库运算方法,不支持$.filter,导致查询出的结果为null
0 个回复