这边场景是这样的:
有个活动共一百人报名,查看活动的报名人详情
通过活动id查询到报名人员的id,然后关联到用户表,如果要对用户姓名查询,match无法模糊查询
db.collection('testUser').aggregate().lookup({
from: 'user',
let: {
test_openid: '$_openid'
},
pipeline: $.pipeline().match(
// 通过openid关联
_.expr($.eq(['$_openid', '$$test_openid'])
)).match({
// 模糊查询不生效
userName:db.RegExp({
regexp: keyword,
options: 'i'
})
}).done(),
as: 'user'
})
.match({
testId // 活动id
}).end()
参考下聚合阶段,无法进行模糊匹配吗?? 邓坤力 的回答 - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0004a6e5574f10d5797915c845b000?jumpto=comment&commentid=000ca4f464cb2030b0890178251c