let res = await db.collection('data').aggregate().match({
_id: id
}).lookup({
from: 'ds',
let: {
checkid: '$_id',
},
pipeline: $.pipeline()
.match(_.expr($.and([
$.eq(['$_openid', openid]),
$.eq(['$hid', '$$checkid'])
])))
// .sort({
// date: -1
// })
.limit(1)
.done(),
as: 'list'
}).end();
执行这条语句发现一个问题,在联表查询里面查询结果不为空的时候用sort排序不会异常,一旦联表查询里面的结果为空的时候,照理说是空数组排序应该也不会有问题,可是实际在联表查询字表的关联数据为空的时候,有sort会导致语句执行有问题,不会报异常会一直无限执行下去,直到超时,这应该是一个bug?