db.collection('jx_course_ware').aggregate().match({
course_id: param.course_id
}).lookup({
from:"jx_course_ware_speak",
let:{
_id: '$ware_id',
},
pipeline:$.pipeline().match(
dbCmd.expr($.eq(['$coure_ware_id', '$$ware_id']))
).done(),
as:"ware_speak",
}).sort({
sort: 1
}).end();

糖醋排骨
- 发布:2022-08-03 18:03
- 更新:2022-08-04 16:19
- 阅读:285
产品分类: uniCloud/App
示例代码:
操作步骤:
db.collection('jx_course_ware').aggregate().match({
course_id: param.course_id
}).lookup({
from:"jx_course_ware_speak",
let:{
_id: '$ware_id',
},
pipeline:$.pipeline().match(
dbCmd.expr($.eq(['$coure_ware_id', '$$ware_id']))
).done(),
as:"ware_speak",
}).sort({
sort: 1
}).end();
db.collection('jx_course_ware').aggregate().match({
course_id: param.course_id
}).lookup({
from:"jx_course_ware_speak",
let:{
_id: '$ware_id',
},
pipeline:$.pipeline().match(
dbCmd.expr($.eq(['$coure_ware_id', '$$ware_id']))
).done(),
as:"ware_speak",
}).sort({
sort: 1
}).end();
预期结果:
可以在let内定义主表的主键
可以在let内定义主表的主键
实际结果:
在let内无法定义主表的主键
在let内无法定义主表的主键
bug描述:
在lookup 方法 let 参数内设置主键 _id 时报错
1 个回复
DCloud_uniCloud_WYQ
let的意思是把引号后面的值定义为引号前面的名字的变量,你是不是理解反了